kernel: bump 6.1 to 6.1.112 (#12510)

This commit is contained in:
Beginner 2024-10-01 12:20:19 +08:00 committed by GitHub
parent fac34a2dfe
commit 1a1b7da30d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
56 changed files with 160 additions and 236 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.1 = .111 LINUX_VERSION-6.1 = .112
LINUX_KERNEL_HASH-6.1.111 = c47298fa1d410bc5dcfb0662bc2cdbe86f5b0d12a1baac297e1ded7b6722edb0 LINUX_KERNEL_HASH-6.1.112 = 8bd8de3562fb006653e550a934e66ed9f80b7576258a03e2caa2e3ce1c1f9f24

View File

@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/net/bluetooth/smp.c --- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c
@@ -2208,7 +2208,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) @@ -2208,7 +2208,7 @@ mackey_and_ltk:
if (err) if (err)
return SMP_UNSPECIFIED; return SMP_UNSPECIFIED;
@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
if (test_bit(SMP_FLAG_INITIATOR, &smp->flags)) { if (test_bit(SMP_FLAG_INITIATOR, &smp->flags)) {
sc_dhkey_check(smp); sc_dhkey_check(smp);
SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK);
@@ -2223,9 +2223,6 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) @@ -2223,9 +2223,6 @@ mackey_and_ltk:
confirm_hint = 0; confirm_hint = 0;
confirm: confirm:

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/kernel/cgroup/cgroup.c --- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c
@@ -6061,6 +6061,9 @@ int __init cgroup_init_early(void) @@ -6070,6 +6070,9 @@ int __init cgroup_init_early(void)
return 0; return 0;
} }
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/** /**
* cgroup_init - cgroup initialization * cgroup_init - cgroup initialization
* *
@@ -6094,6 +6097,12 @@ int __init cgroup_init(void) @@ -6103,6 +6106,12 @@ int __init cgroup_init(void)
cgroup_unlock(); cgroup_unlock();
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
for_each_subsys(ss, ssid) { for_each_subsys(ss, ssid) {
if (ss->early_init) { if (ss->early_init) {
struct cgroup_subsys_state *css = struct cgroup_subsys_state *css =
@@ -6734,6 +6743,10 @@ static int __init cgroup_disable(char *s @@ -6743,6 +6752,10 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name)) strcmp(token, ss->legacy_name))
continue; continue;
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static_branch_disable(cgroup_subsys_enabled_key[i]); static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n", pr_info("Disabling %s control group subsystem\n",
ss->name); ss->name);
@@ -6752,6 +6765,31 @@ static int __init cgroup_disable(char *s @@ -6761,6 +6774,31 @@ static int __init cgroup_disable(char *s
} }
__setup("cgroup_disable=", cgroup_disable); __setup("cgroup_disable=", cgroup_disable);

View File

@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/spi/spidev.c --- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c
@@ -707,7 +707,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids) @@ -709,7 +709,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
*/ */
static int spidev_of_check(struct device *dev) static int spidev_of_check(struct device *dev)
{ {

View File

@ -313,7 +313,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
goto out; goto out;
--- a/drivers/mmc/core/core.c --- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c
@@ -1819,7 +1819,8 @@ EXPORT_SYMBOL(mmc_erase); @@ -1818,7 +1818,8 @@ EXPORT_SYMBOL(mmc_erase);
int mmc_can_erase(struct mmc_card *card) int mmc_can_erase(struct mmc_card *card)
{ {
@ -325,7 +325,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
} }
--- a/drivers/mmc/core/quirks.h --- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h +++ b/drivers/mmc/core/quirks.h
@@ -130,6 +130,14 @@ static const struct mmc_fixup __maybe_un @@ -134,6 +134,14 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd, MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_DISCARD), MMC_QUIRK_BROKEN_SD_DISCARD),
@ -1987,7 +1987,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#define MAX_TUNING_LOOP 40 #define MAX_TUNING_LOOP 40
@@ -3236,7 +3236,7 @@ static void sdhci_timeout_timer(struct t @@ -3235,7 +3235,7 @@ static void sdhci_timeout_timer(struct t
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@ -1996,7 +1996,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
mmc_hostname(host->mmc)); mmc_hostname(host->mmc));
sdhci_err_stats_inc(host, REQ_TIMEOUT); sdhci_err_stats_inc(host, REQ_TIMEOUT);
sdhci_dumpregs(host); sdhci_dumpregs(host);
@@ -3259,7 +3259,7 @@ static void sdhci_timeout_data_timer(str @@ -3258,7 +3258,7 @@ static void sdhci_timeout_data_timer(str
if (host->data || host->data_cmd || if (host->data || host->data_cmd ||
(host->cmd && sdhci_data_line_cmd(host->cmd))) { (host->cmd && sdhci_data_line_cmd(host->cmd))) {

View File

@ -99,7 +99,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#endif #endif
--- a/arch/arm/include/asm/uaccess.h --- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h
@@ -509,6 +509,9 @@ do { \ @@ -499,6 +499,9 @@ do { \
extern unsigned long __must_check extern unsigned long __must_check
arm_copy_from_user(void *to, const void __user *from, unsigned long n); arm_copy_from_user(void *to, const void __user *from, unsigned long n);

View File

@ -17615,7 +17615,7 @@ Signed-off-by: Ashish Vara <ashishhvara@gmail.com>
* For devices with more than one control interface, we assume the * For devices with more than one control interface, we assume the
--- a/sound/usb/quirks.c --- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c +++ b/sound/usb/quirks.c
@@ -2087,6 +2087,8 @@ static const struct usb_audio_quirk_flag @@ -2089,6 +2089,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_FIXED_RATE), QUIRK_FLAG_FIXED_RATE),
DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */ DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
QUIRK_FLAG_FIXED_RATE), QUIRK_FLAG_FIXED_RATE),

View File

@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci.c --- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c
@@ -1643,6 +1643,109 @@ command_cleanup: @@ -1653,6 +1653,109 @@ command_cleanup:
} }
/* /*
@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later * non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it * we drop ownership so next owner (or urb unlink) can get it
*/ */
@@ -5480,6 +5583,7 @@ static const struct hc_driver xhci_hc_dr @@ -5492,6 +5595,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset, .endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth, .check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth, .reset_bandwidth = xhci_reset_bandwidth,

View File

@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d #define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201 #define USB_DEVICE_ID_FLIP_KVM 0x3201
@@ -1373,6 +1376,9 @@ @@ -1385,6 +1388,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717 #define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014 #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/gpio/gpiolib.c --- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c
@@ -52,6 +52,8 @@ @@ -53,6 +53,8 @@
#define extra_checks 0 #define extra_checks 0
#endif #endif
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/* Device and char device-related information */ /* Device and char device-related information */
static DEFINE_IDA(gpio_ida); static DEFINE_IDA(gpio_ida);
static dev_t gpio_devt; static dev_t gpio_devt;
@@ -2423,8 +2425,8 @@ int gpiod_direction_output(struct gpio_d @@ -2424,8 +2426,8 @@ int gpiod_direction_output(struct gpio_d
value = !!value; value = !!value;
/* GPIOs used for enabled IRQs shall not be set as output */ /* GPIOs used for enabled IRQs shall not be set as output */
@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
gpiod_err(desc, gpiod_err(desc,
"%s: tried to set a GPIO tied to an IRQ as output\n", "%s: tried to set a GPIO tied to an IRQ as output\n",
__func__); __func__);
@@ -3302,8 +3304,8 @@ int gpiochip_lock_as_irq(struct gpio_chi @@ -3303,8 +3305,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
} }
/* To be valid for IRQ the line needs to be input or open drain */ /* To be valid for IRQ the line needs to be input or open drain */

View File

@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/scripts/Makefile.lib --- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib +++ b/scripts/Makefile.lib
@@ -415,6 +415,12 @@ cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; @@ -419,6 +419,12 @@ cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ;
$(DTC) -@ -H epapr -O dtb -o $@ -b 0 \ $(DTC) -@ -H epapr -O dtb -o $@ -b 0 \
-i $(dir $<) $(DTC_FLAGS) \ -i $(dir $<) $(DTC_FLAGS) \
-Wno-interrupts_property \ -Wno-interrupts_property \

View File

@ -22,4 +22,4 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
+ { .name = "spidev" }, + { .name = "spidev" },
{ .name = "bh2228fv" }, { .name = "bh2228fv" },
{ .name = "dh2228fv" }, { .name = "dh2228fv" },
{ .name = "ltc2488" }, { .name = "jg10309-01" },

View File

@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/gpio/gpio-pca953x.c --- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c
@@ -1358,6 +1358,7 @@ static const struct of_device_id pca953x @@ -1360,6 +1360,7 @@ static const struct of_device_id pca953x
{ .compatible = "ti,tca6416", .data = OF_953X(16, PCA_INT), }, { .compatible = "ti,tca6416", .data = OF_953X(16, PCA_INT), },
{ .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), }, { .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), },
{ .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), }, { .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), },

View File

@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci.c --- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c
@@ -1732,7 +1732,7 @@ static void xhci_fixup_endpoint(struct u @@ -1742,7 +1742,7 @@ static void xhci_fixup_endpoint(struct u
return; return;
} }
ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index); ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index);

View File

@ -46,7 +46,7 @@ Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
} }
return err; return err;
@@ -5064,11 +5062,9 @@ int f2fs_build_segment_manager(struct f2 @@ -5067,11 +5065,9 @@ int f2fs_build_segment_manager(struct f2
init_f2fs_rwsem(&sm_info->curseg_lock); init_f2fs_rwsem(&sm_info->curseg_lock);

View File

@ -26,7 +26,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv) static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
--- a/drivers/mmc/host/sdhci.c --- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c
@@ -3074,6 +3074,15 @@ static void sdhci_card_event(struct mmc_ @@ -3073,6 +3073,15 @@ static void sdhci_card_event(struct mmc_
spin_unlock_irqrestore(&host->lock, flags); spin_unlock_irqrestore(&host->lock, flags);
} }
@ -42,7 +42,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
static const struct mmc_host_ops sdhci_ops = { static const struct mmc_host_ops sdhci_ops = {
.request = sdhci_request, .request = sdhci_request,
.post_req = sdhci_post_req, .post_req = sdhci_post_req,
@@ -3089,6 +3098,7 @@ static const struct mmc_host_ops sdhci_o @@ -3088,6 +3097,7 @@ static const struct mmc_host_ops sdhci_o
.execute_tuning = sdhci_execute_tuning, .execute_tuning = sdhci_execute_tuning,
.card_event = sdhci_card_event, .card_event = sdhci_card_event,
.card_busy = sdhci_card_busy, .card_busy = sdhci_card_busy,
@ -50,7 +50,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
}; };
/*****************************************************************************\ /*****************************************************************************\
@@ -4614,6 +4624,15 @@ int sdhci_setup_host(struct sdhci_host * @@ -4609,6 +4619,15 @@ int sdhci_setup_host(struct sdhci_host *
!(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50)) !(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
mmc->caps |= MMC_CAP_UHS_DDR50; mmc->caps |= MMC_CAP_UHS_DDR50;

View File

@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
}, },
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c
@@ -1180,6 +1180,24 @@ static void dwc3_config_threshold(struct @@ -1201,6 +1201,24 @@ static void dwc3_config_threshold(struct
} }
} }
@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/** /**
* dwc3_core_init - Low-level initialization of DWC3 Core * dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure * @dwc: Pointer to our controller context structure
@@ -1257,6 +1275,8 @@ static int dwc3_core_init(struct dwc3 *d @@ -1278,6 +1296,8 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_set_incr_burst_type(dwc); dwc3_set_incr_burst_type(dwc);
@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0);
ret = phy_power_on(dwc->usb2_generic_phy); ret = phy_power_on(dwc->usb2_generic_phy);
@@ -1490,6 +1510,7 @@ static void dwc3_get_properties(struct d @@ -1526,6 +1546,7 @@ static void dwc3_get_properties(struct d
u8 tx_thr_num_pkt_prd = 0; u8 tx_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0; u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num; u8 tx_fifo_resize_max_num;
@ -254,7 +254,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
const char *usb_psy_name; const char *usb_psy_name;
int ret; int ret;
@@ -1512,6 +1533,9 @@ static void dwc3_get_properties(struct d @@ -1548,6 +1569,9 @@ static void dwc3_get_properties(struct d
*/ */
tx_fifo_resize_max_num = 6; tx_fifo_resize_max_num = 6;
@ -264,7 +264,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->maximum_speed = usb_get_maximum_speed(dev); dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev); dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(dev); dwc->dr_mode = usb_get_dr_mode(dev);
@@ -1627,6 +1651,9 @@ static void dwc3_get_properties(struct d @@ -1663,6 +1687,9 @@ static void dwc3_get_properties(struct d
dwc->dis_split_quirk = device_property_read_bool(dev, dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk"); "snps,dis-split-quirk");
@ -274,7 +274,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis; dwc->tx_de_emphasis = tx_de_emphasis;
@@ -1644,6 +1671,8 @@ static void dwc3_get_properties(struct d @@ -1680,6 +1707,8 @@ static void dwc3_get_properties(struct d
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd; dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd; dwc->tx_max_burst_prd = tx_max_burst_prd;
@ -283,7 +283,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->imod_interval = 0; dwc->imod_interval = 0;
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num; dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
@@ -1852,6 +1881,12 @@ static int dwc3_probe(struct platform_de @@ -1888,6 +1917,12 @@ static int dwc3_probe(struct platform_de
dwc3_get_properties(dwc); dwc3_get_properties(dwc);
@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Global Debug LSP MUX Select */ /* Global Debug LSP MUX Select */
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */ #define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff) #define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
@@ -1056,6 +1059,7 @@ struct dwc3_scratchpad_array { @@ -1057,6 +1060,7 @@ struct dwc3_scratchpad_array {
* @tx_max_burst_prd: max periodic ESS transmit burst size * @tx_max_burst_prd: max periodic ESS transmit burst size
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize * @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
* @clear_stall_protocol: endpoint number that requires a delayed status phase * @clear_stall_protocol: endpoint number that requires a delayed status phase
@ -316,7 +316,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @hsphy_interface: "utmi" or "ulpi" * @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise * @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs * @softconnect: true when gadget connect is called, false when disconnect runs
@@ -1287,6 +1291,7 @@ struct dwc3 { @@ -1289,6 +1293,7 @@ struct dwc3 {
u8 tx_max_burst_prd; u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num; u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol; u8 clear_stall_protocol;

View File

@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci.c --- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c
@@ -1728,6 +1728,12 @@ static bool sdhci_send_command(struct sd @@ -1727,6 +1727,12 @@ static bool sdhci_send_command(struct sd
if (host->use_external_dma) if (host->use_external_dma)
sdhci_external_dma_pre_transfer(host, cmd); sdhci_external_dma_pre_transfer(host, cmd);
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND); sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
return true; return true;
@@ -3333,6 +3339,11 @@ static void sdhci_cmd_irq(struct sdhci_h @@ -3332,6 +3338,11 @@ static void sdhci_cmd_irq(struct sdhci_h
if (intmask & SDHCI_INT_TIMEOUT) { if (intmask & SDHCI_INT_TIMEOUT) {
host->cmd->error = -ETIMEDOUT; host->cmd->error = -ETIMEDOUT;
sdhci_err_stats_inc(host, CMD_TIMEOUT); sdhci_err_stats_inc(host, CMD_TIMEOUT);

View File

@ -14,7 +14,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
--- a/drivers/spi/spidev.c --- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c
@@ -702,6 +702,7 @@ static const struct spi_device_id spidev @@ -703,6 +703,7 @@ static const struct spi_device_id spidev
{ .name = "spi-petra" }, { .name = "spi-petra" },
{ .name = "spi-authenta" }, { .name = "spi-authenta" },
{ .name = "em3581" }, { .name = "em3581" },
@ -22,7 +22,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
{}, {},
}; };
MODULE_DEVICE_TABLE(spi, spidev_spi_ids); MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
@@ -730,6 +731,7 @@ static const struct of_device_id spidev_ @@ -732,6 +733,7 @@ static const struct of_device_id spidev_
{ .compatible = "rohm,dh2228fv", .data = &spidev_of_check }, { .compatible = "rohm,dh2228fv", .data = &spidev_of_check },
{ .compatible = "semtech,sx1301", .data = &spidev_of_check }, { .compatible = "semtech,sx1301", .data = &spidev_of_check },
{ .compatible = "silabs,em3581", .data = &spidev_of_check }, { .compatible = "silabs,em3581", .data = &spidev_of_check },

View File

@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/nf_tables_api.c --- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c
@@ -8012,7 +8012,7 @@ static int nft_register_flowtable_net_ho @@ -8017,7 +8017,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data, err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev, hook->ops.dev,
FLOW_BLOCK_BIND); FLOW_BLOCK_BIND);

View File

@ -36,7 +36,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
{ .compatible = "qcom,msm8960", }, { .compatible = "qcom,msm8960", },
--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
+++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
@@ -148,6 +148,11 @@ static int qcom_cpufreq_kryo_name_versio @@ -152,6 +152,11 @@ static int qcom_cpufreq_kryo_name_versio
switch (msm_id) { switch (msm_id) {
case QCOM_ID_MSM8996: case QCOM_ID_MSM8996:
case QCOM_ID_APQ8096: case QCOM_ID_APQ8096:

View File

@ -15,7 +15,7 @@ Link: https://lore.kernel.org/r/20220818220628.339366-9-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -677,6 +677,14 @@ @@ -679,6 +679,14 @@
#mbox-cells = <1>; #mbox-cells = <1>;
}; };

View File

@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20220818220245.338396-5-robimarko@gmail.com
cryptobam: dma-controller@704000 { cryptobam: dma-controller@704000 {
compatible = "qcom,bam-v1.7.0"; compatible = "qcom,bam-v1.7.0";
reg = <0x00704000 0x20000>; reg = <0x00704000 0x20000>;
@@ -876,4 +886,90 @@ @@ -878,4 +888,90 @@
<GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
}; };

View File

@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20220818220849.339732-4-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -682,6 +682,8 @@ @@ -684,6 +684,8 @@
apcs_glb: mailbox@b111000 { apcs_glb: mailbox@b111000 {
compatible = "qcom,ipq8074-apcs-apps-global"; compatible = "qcom,ipq8074-apcs-apps-global";
reg = <0x0b111000 0x1000>; reg = <0x0b111000 0x1000>;

View File

@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -768,6 +768,7 @@ @@ -770,6 +770,7 @@
linux,pci-domain = <1>; linux,pci-domain = <1>;
bus-range = <0x00 0xff>; bus-range = <0x00 0xff>;
num-lanes = <1>; num-lanes = <1>;

View File

@ -14,7 +14,7 @@ Link: https://lore.kernel.org/r/20230322174148.810938-4-krzysztof.kozlowski@lina
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -682,7 +682,8 @@ @@ -684,7 +684,8 @@
}; };
apcs_glb: mailbox@b111000 { apcs_glb: mailbox@b111000 {

View File

@ -17,7 +17,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -899,6 +899,14 @@ @@ -901,6 +901,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 4>; thermal-sensors = <&tsens 4>;
@ -32,7 +32,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
nss0-thermal { nss0-thermal {
@@ -906,6 +914,14 @@ @@ -908,6 +916,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 5>; thermal-sensors = <&tsens 5>;
@ -47,7 +47,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
nss1-thermal { nss1-thermal {
@@ -913,6 +929,14 @@ @@ -915,6 +931,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 6>; thermal-sensors = <&tsens 6>;
@ -62,7 +62,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
wcss-phya0-thermal { wcss-phya0-thermal {
@@ -920,6 +944,14 @@ @@ -922,6 +946,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 7>; thermal-sensors = <&tsens 7>;
@ -77,7 +77,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
wcss-phya1-thermal { wcss-phya1-thermal {
@@ -927,6 +959,14 @@ @@ -929,6 +961,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 8>; thermal-sensors = <&tsens 8>;
@ -92,7 +92,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
cpu0_thermal: cpu0-thermal { cpu0_thermal: cpu0-thermal {
@@ -934,6 +974,14 @@ @@ -936,6 +976,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 9>; thermal-sensors = <&tsens 9>;
@ -107,7 +107,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
cpu1_thermal: cpu1-thermal { cpu1_thermal: cpu1-thermal {
@@ -941,6 +989,14 @@ @@ -943,6 +991,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 10>; thermal-sensors = <&tsens 10>;
@ -122,7 +122,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
cpu2_thermal: cpu2-thermal { cpu2_thermal: cpu2-thermal {
@@ -948,6 +1004,14 @@ @@ -950,6 +1006,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 11>; thermal-sensors = <&tsens 11>;
@ -137,7 +137,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
cpu3_thermal: cpu3-thermal { cpu3_thermal: cpu3-thermal {
@@ -955,6 +1019,14 @@ @@ -957,6 +1021,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 12>; thermal-sensors = <&tsens 12>;
@ -152,7 +152,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
cluster_thermal: cluster-thermal { cluster_thermal: cluster-thermal {
@@ -962,6 +1034,14 @@ @@ -964,6 +1036,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 13>; thermal-sensors = <&tsens 13>;
@ -167,7 +167,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
wcss-phyb0-thermal { wcss-phyb0-thermal {
@@ -969,6 +1049,14 @@ @@ -971,6 +1051,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 14>; thermal-sensors = <&tsens 14>;
@ -182,7 +182,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
}; };
wcss-phyb1-thermal { wcss-phyb1-thermal {
@@ -976,6 +1064,14 @@ @@ -978,6 +1066,14 @@
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 15>; thermal-sensors = <&tsens 15>;

View File

@ -44,7 +44,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
struct qcom_cpufreq_drv; struct qcom_cpufreq_drv;
struct qcom_cpufreq_match_data { struct qcom_cpufreq_match_data {
@@ -203,6 +205,57 @@ len_error: @@ -207,6 +209,57 @@ len_error:
return ret; return ret;
} }
@ -102,7 +102,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
static const struct qcom_cpufreq_match_data match_data_kryo = { static const struct qcom_cpufreq_match_data match_data_kryo = {
.get_version = qcom_cpufreq_kryo_name_version, .get_version = qcom_cpufreq_kryo_name_version,
}; };
@@ -217,6 +270,10 @@ static const struct qcom_cpufreq_match_d @@ -221,6 +274,10 @@ static const struct qcom_cpufreq_match_d
.genpd_names = qcs404_genpd_names, .genpd_names = qcs404_genpd_names,
}; };
@ -113,7 +113,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
static int qcom_cpufreq_probe(struct platform_device *pdev) static int qcom_cpufreq_probe(struct platform_device *pdev)
{ {
struct qcom_cpufreq_drv *drv; struct qcom_cpufreq_drv *drv;
@@ -361,6 +418,7 @@ static const struct of_device_id qcom_cp @@ -353,6 +410,7 @@ static const struct of_device_id qcom_cp
{ .compatible = "qcom,apq8096", .data = &match_data_kryo }, { .compatible = "qcom,apq8096", .data = &match_data_kryo },
{ .compatible = "qcom,msm8996", .data = &match_data_kryo }, { .compatible = "qcom,msm8996", .data = &match_data_kryo },
{ .compatible = "qcom,qcs404", .data = &match_data_qcs404 }, { .compatible = "qcom,qcs404", .data = &match_data_qcs404 },

View File

@ -47,7 +47,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
struct qcom_cpufreq_drv; struct qcom_cpufreq_drv;
struct qcom_cpufreq_match_data { struct qcom_cpufreq_match_data {
@@ -256,6 +261,44 @@ static int qcom_cpufreq_ipq6018_name_ver @@ -260,6 +265,44 @@ static int qcom_cpufreq_ipq6018_name_ver
return 0; return 0;
} }
@ -92,7 +92,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
static const struct qcom_cpufreq_match_data match_data_kryo = { static const struct qcom_cpufreq_match_data match_data_kryo = {
.get_version = qcom_cpufreq_kryo_name_version, .get_version = qcom_cpufreq_kryo_name_version,
}; };
@@ -274,6 +317,10 @@ static const struct qcom_cpufreq_match_d @@ -278,6 +321,10 @@ static const struct qcom_cpufreq_match_d
.get_version = qcom_cpufreq_ipq6018_name_version, .get_version = qcom_cpufreq_ipq6018_name_version,
}; };
@ -103,7 +103,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
static int qcom_cpufreq_probe(struct platform_device *pdev) static int qcom_cpufreq_probe(struct platform_device *pdev)
{ {
struct qcom_cpufreq_drv *drv; struct qcom_cpufreq_drv *drv;
@@ -420,6 +467,7 @@ static const struct of_device_id qcom_cp @@ -412,6 +459,7 @@ static const struct of_device_id qcom_cp
{ .compatible = "qcom,qcs404", .data = &match_data_qcs404 }, { .compatible = "qcom,qcs404", .data = &match_data_qcs404 },
{ .compatible = "qcom,ipq6018", .data = &match_data_ipq6018 }, { .compatible = "qcom,ipq6018", .data = &match_data_ipq6018 },
{ .compatible = "qcom,ipq8064", .data = &match_data_krait }, { .compatible = "qcom,ipq8064", .data = &match_data_krait },

View File

@ -19,7 +19,7 @@ Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -685,8 +685,8 @@ @@ -687,8 +687,8 @@
compatible = "qcom,ipq8074-apcs-apps-global", compatible = "qcom,ipq8074-apcs-apps-global",
"qcom,ipq6018-apcs-apps-global"; "qcom,ipq6018-apcs-apps-global";
reg = <0x0b111000 0x1000>; reg = <0x0b111000 0x1000>;

View File

@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -706,7 +706,7 @@ @@ -708,7 +708,7 @@
reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>; reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
ranges = <0 0xb00a000 0xffd>; ranges = <0 0xb00a000 0xffd>;
@ -21,7 +21,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
compatible = "arm,gic-v2m-frame"; compatible = "arm,gic-v2m-frame";
msi-controller; msi-controller;
reg = <0x0 0xffd>; reg = <0x0 0xffd>;
@@ -819,8 +819,7 @@ @@ -821,8 +821,7 @@
ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */ ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */
<0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */ <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
#interrupt-cells = <1>; #interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>; interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 142 interrupt-map = <0 0 0 1 &intc 0 142
@@ -881,8 +880,7 @@ @@ -883,8 +882,7 @@
ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */ ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */
<0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */ <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */

View File

@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
spmi_bus: spmi@200f000 { spmi_bus: spmi@200f000 {
compatible = "qcom,spmi-pmic-arb"; compatible = "qcom,spmi-pmic-arb";
reg = <0x0200f000 0x001000>, reg = <0x0200f000 0x001000>,
@@ -921,6 +952,56 @@ @@ -923,6 +954,56 @@
"axi_s_sticky"; "axi_s_sticky";
status = "disabled"; status = "disabled";
}; };

View File

@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -1002,6 +1002,117 @@ @@ -1004,6 +1004,117 @@
}; };
}; };
}; };

View File

@ -111,7 +111,7 @@
#endif #endif
--- a/include/net/ip6_route.h --- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h +++ b/include/net/ip6_route.h
@@ -211,6 +211,11 @@ void rt6_multipath_rebalance(struct fib6 @@ -219,6 +219,11 @@ void rt6_multipath_rebalance(struct fib6
void rt6_uncached_list_add(struct rt6_info *rt); void rt6_uncached_list_add(struct rt6_info *rt);
void rt6_uncached_list_del(struct rt6_info *rt); void rt6_uncached_list_del(struct rt6_info *rt);
@ -326,7 +326,7 @@
} }
if (unlikely(test_bit(BR_FDB_ADDED_BY_USER, &flags))) if (unlikely(test_bit(BR_FDB_ADDED_BY_USER, &flags)))
@@ -1471,3 +1533,62 @@ void br_fdb_clear_offload(const struct n @@ -1469,3 +1531,62 @@ void br_fdb_clear_offload(const struct n
spin_unlock_bh(&p->br->hash_lock); spin_unlock_bh(&p->br->hash_lock);
} }
EXPORT_SYMBOL_GPL(br_fdb_clear_offload); EXPORT_SYMBOL_GPL(br_fdb_clear_offload);
@ -609,7 +609,7 @@
return 0; return 0;
out_remove_new_fa: out_remove_new_fa:
@@ -1775,6 +1781,9 @@ int fib_table_delete(struct net *net, st @@ -1776,6 +1782,9 @@ int fib_table_delete(struct net *net, st
if (fa_to_delete->fa_state & FA_S_ACCESSED) if (fa_to_delete->fa_state & FA_S_ACCESSED)
rt_cache_flush(cfg->fc_nlinfo.nl_net); rt_cache_flush(cfg->fc_nlinfo.nl_net);
@ -619,7 +619,7 @@
fib_release_info(fa_to_delete->fa_info); fib_release_info(fa_to_delete->fa_info);
alias_free_mem_rcu(fa_to_delete); alias_free_mem_rcu(fa_to_delete);
return 0; return 0;
@@ -2407,6 +2416,20 @@ void __init fib_trie_init(void) @@ -2408,6 +2417,20 @@ void __init fib_trie_init(void)
0, SLAB_PANIC | SLAB_ACCOUNT, NULL); 0, SLAB_PANIC | SLAB_ACCOUNT, NULL);
} }
@ -642,7 +642,7 @@
struct fib_table *tb; struct fib_table *tb;
--- a/net/ipv6/ndisc.c --- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c
@@ -666,6 +666,7 @@ void ndisc_send_ns(struct net_device *de @@ -668,6 +668,7 @@ void ndisc_send_ns(struct net_device *de
if (skb) if (skb)
ndisc_send_skb(skb, daddr, saddr); ndisc_send_skb(skb, daddr, saddr);
} }
@ -724,7 +724,7 @@
static void static void
ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp) ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
@@ -2061,6 +2062,36 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str @@ -2062,6 +2063,36 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str
return result; return result;
} }

View File

@ -8,7 +8,7 @@
#include <linux/nsproxy.h> #include <linux/nsproxy.h>
#include <net/net_namespace.h> #include <net/net_namespace.h>
@@ -254,6 +255,25 @@ struct ppp_net { @@ -255,6 +256,25 @@ struct ppp_net {
#define seq_before(a, b) ((s32)((a) - (b)) < 0) #define seq_before(a, b) ((s32)((a) - (b)) < 0)
#define seq_after(a, b) ((s32)((a) - (b)) > 0) #define seq_after(a, b) ((s32)((a) - (b)) > 0)
@ -34,7 +34,7 @@
/* Prototypes. */ /* Prototypes. */
static int ppp_unattached_ioctl(struct net *net, struct ppp_file *pf, static int ppp_unattached_ioctl(struct net *net, struct ppp_file *pf,
struct file *file, unsigned int cmd, unsigned long arg); struct file *file, unsigned int cmd, unsigned long arg);
@@ -3453,7 +3473,10 @@ ppp_connect_channel(struct channel *pch, @@ -3468,7 +3488,10 @@ ppp_connect_channel(struct channel *pch,
struct ppp_net *pn; struct ppp_net *pn;
int ret = -ENXIO; int ret = -ENXIO;
int hdrlen; int hdrlen;
@ -45,7 +45,7 @@
pn = ppp_pernet(pch->chan_net); pn = ppp_pernet(pch->chan_net);
mutex_lock(&pn->all_ppp_mutex); mutex_lock(&pn->all_ppp_mutex);
@@ -3485,13 +3508,40 @@ ppp_connect_channel(struct channel *pch, @@ -3500,13 +3523,40 @@ ppp_connect_channel(struct channel *pch,
++ppp->n_channels; ++ppp->n_channels;
pch->ppp = ppp; pch->ppp = ppp;
refcount_inc(&ppp->file.refcnt); refcount_inc(&ppp->file.refcnt);
@ -87,7 +87,7 @@
return ret; return ret;
} }
@@ -3509,6 +3559,13 @@ ppp_disconnect_channel(struct channel *p @@ -3524,6 +3574,13 @@ ppp_disconnect_channel(struct channel *p
pch->ppp = NULL; pch->ppp = NULL;
write_unlock_bh(&pch->upl); write_unlock_bh(&pch->upl);
if (ppp) { if (ppp) {
@ -101,7 +101,7 @@
/* remove it from the ppp unit's list */ /* remove it from the ppp unit's list */
ppp_lock(ppp); ppp_lock(ppp);
list_del(&pch->clist); list_del(&pch->clist);
@@ -3588,6 +3645,222 @@ static void *unit_find(struct idr *p, in @@ -3603,6 +3660,222 @@ static void *unit_find(struct idr *p, in
return idr_find(p, n); return idr_find(p, n);
} }
@ -324,7 +324,7 @@
/* Module/initialization stuff */ /* Module/initialization stuff */
module_init(ppp_init); module_init(ppp_init);
@@ -3604,6 +3877,7 @@ EXPORT_SYMBOL(ppp_input_error); @@ -3619,6 +3892,7 @@ EXPORT_SYMBOL(ppp_input_error);
EXPORT_SYMBOL(ppp_output_wakeup); EXPORT_SYMBOL(ppp_output_wakeup);
EXPORT_SYMBOL(ppp_register_compressor); EXPORT_SYMBOL(ppp_register_compressor);
EXPORT_SYMBOL(ppp_unregister_compressor); EXPORT_SYMBOL(ppp_unregister_compressor);

View File

@ -9,7 +9,7 @@
static struct flow_dissector flow_keys_bonding __read_mostly; static struct flow_dissector flow_keys_bonding __read_mostly;
/*-------------------------- Forward declarations ---------------------------*/ /*-------------------------- Forward declarations ---------------------------*/
@@ -4383,6 +4385,24 @@ static int bond_get_lowest_level_rcu(str @@ -4411,6 +4413,24 @@ static int bond_get_lowest_level_rcu(str
} }
#endif #endif
@ -34,7 +34,7 @@
static void bond_get_stats(struct net_device *bond_dev, static void bond_get_stats(struct net_device *bond_dev,
struct rtnl_link_stats64 *stats) struct rtnl_link_stats64 *stats)
{ {
@@ -5795,6 +5815,11 @@ static void bond_destructor(struct net_d @@ -5823,6 +5843,11 @@ static void bond_destructor(struct net_d
if (bond->rr_tx_counter) if (bond->rr_tx_counter)
free_percpu(bond->rr_tx_counter); free_percpu(bond->rr_tx_counter);
@ -46,7 +46,7 @@
} }
void bond_setup(struct net_device *bond_dev) void bond_setup(struct net_device *bond_dev)
@@ -6358,6 +6383,14 @@ int bond_create(struct net *net, const c @@ -6386,6 +6411,14 @@ int bond_create(struct net *net, const c
bond_work_init_all(bond); bond_work_init_all(bond);

View File

@ -213,7 +213,7 @@
{ {
--- a/drivers/net/bonding/bond_main.c --- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c
@@ -1186,6 +1186,23 @@ void bond_change_active_slave(struct bon @@ -1214,6 +1214,23 @@ void bond_change_active_slave(struct bon
if (BOND_MODE(bond) == BOND_MODE_8023AD) if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond_3ad_handle_link_change(new_active, BOND_LINK_UP); bond_3ad_handle_link_change(new_active, BOND_LINK_UP);
@ -237,7 +237,7 @@
if (bond_is_lb(bond)) if (bond_is_lb(bond))
bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP); bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
} else { } else {
@@ -1809,6 +1826,7 @@ int bond_enslave(struct net_device *bond @@ -1837,6 +1854,7 @@ int bond_enslave(struct net_device *bond
const struct net_device_ops *slave_ops = slave_dev->netdev_ops; const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
struct slave *new_slave = NULL, *prev_slave; struct slave *new_slave = NULL, *prev_slave;
struct sockaddr_storage ss; struct sockaddr_storage ss;
@ -245,7 +245,7 @@
int link_reporting; int link_reporting;
int res = 0, i; int res = 0, i;
@@ -2252,6 +2270,15 @@ int bond_enslave(struct net_device *bond @@ -2280,6 +2298,15 @@ int bond_enslave(struct net_device *bond
bond_is_active_slave(new_slave) ? "an active" : "a backup", bond_is_active_slave(new_slave) ? "an active" : "a backup",
new_slave->link != BOND_LINK_DOWN ? "an up" : "a down"); new_slave->link != BOND_LINK_DOWN ? "an up" : "a down");
@ -261,7 +261,7 @@
/* enslave is successful */ /* enslave is successful */
bond_queue_slave_event(new_slave); bond_queue_slave_event(new_slave);
return 0; return 0;
@@ -2317,6 +2344,15 @@ err_undo_flags: @@ -2345,6 +2372,15 @@ err_undo_flags:
} }
} }
@ -277,7 +277,7 @@
return res; return res;
} }
@@ -2339,6 +2375,7 @@ static int __bond_release_one(struct net @@ -2367,6 +2403,7 @@ static int __bond_release_one(struct net
struct slave *slave, *oldcurrent; struct slave *slave, *oldcurrent;
struct sockaddr_storage ss; struct sockaddr_storage ss;
int old_flags = bond_dev->flags; int old_flags = bond_dev->flags;
@ -285,7 +285,7 @@
netdev_features_t old_features = bond_dev->features; netdev_features_t old_features = bond_dev->features;
/* slave is not a slave or master is not master of this slave */ /* slave is not a slave or master is not master of this slave */
@@ -2360,6 +2397,15 @@ static int __bond_release_one(struct net @@ -2388,6 +2425,15 @@ static int __bond_release_one(struct net
bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW); bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);
@ -301,7 +301,7 @@
bond_sysfs_slave_del(slave); bond_sysfs_slave_del(slave);
/* recompute stats just before removing the slave */ /* recompute stats just before removing the slave */
@@ -2679,6 +2725,8 @@ static void bond_miimon_commit(struct bo @@ -2707,6 +2753,8 @@ static void bond_miimon_commit(struct bo
struct slave *slave, *primary, *active; struct slave *slave, *primary, *active;
bool do_failover = false; bool do_failover = false;
struct list_head *iter; struct list_head *iter;
@ -310,7 +310,7 @@
ASSERT_RTNL(); ASSERT_RTNL();
@@ -2718,6 +2766,12 @@ static void bond_miimon_commit(struct bo @@ -2746,6 +2794,12 @@ static void bond_miimon_commit(struct bo
bond_set_active_slave(slave); bond_set_active_slave(slave);
} }
@ -323,7 +323,7 @@
slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n", slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n",
slave->speed == SPEED_UNKNOWN ? 0 : slave->speed, slave->speed == SPEED_UNKNOWN ? 0 : slave->speed,
slave->duplex ? "full" : "half"); slave->duplex ? "full" : "half");
@@ -2766,6 +2820,16 @@ static void bond_miimon_commit(struct bo @@ -2794,6 +2848,16 @@ static void bond_miimon_commit(struct bo
unblock_netpoll_tx(); unblock_netpoll_tx();
} }
@ -340,7 +340,7 @@
bond_set_carrier(bond); bond_set_carrier(bond);
} }
@@ -4013,9 +4077,220 @@ static inline u32 bond_eth_hash(struct s @@ -4041,9 +4105,220 @@ static inline u32 bond_eth_hash(struct s
return 0; return 0;
ep = (struct ethhdr *)(data + mhoff); ep = (struct ethhdr *)(data + mhoff);
@ -562,7 +562,7 @@
static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data, static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data,
int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34) int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34)
{ {
@@ -5211,15 +5486,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str @@ -5239,15 +5514,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str
struct net_device *dev) struct net_device *dev)
{ {
struct bonding *bond = netdev_priv(dev); struct bonding *bond = netdev_priv(dev);
@ -593,7 +593,7 @@
} }
/* in broadcast mode, we send everything to all usable interfaces. */ /* in broadcast mode, we send everything to all usable interfaces. */
@@ -5469,8 +5752,9 @@ static netdev_tx_t __bond_start_xmit(str @@ -5497,8 +5780,9 @@ static netdev_tx_t __bond_start_xmit(str
return bond_xmit_roundrobin(skb, dev); return bond_xmit_roundrobin(skb, dev);
case BOND_MODE_ACTIVEBACKUP: case BOND_MODE_ACTIVEBACKUP:
return bond_xmit_activebackup(skb, dev); return bond_xmit_activebackup(skb, dev);

View File

@ -17,7 +17,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
--- a/drivers/net/bonding/bond_main.c --- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c
@@ -1439,6 +1439,10 @@ static netdev_features_t bond_fix_featur @@ -1467,6 +1467,10 @@ static netdev_features_t bond_fix_featur
return features; return features;
} }
@ -28,7 +28,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
#define BOND_VLAN_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \ #define BOND_VLAN_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \
NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \ NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \
NETIF_F_HIGHDMA | NETIF_F_LRO) NETIF_F_HIGHDMA | NETIF_F_LRO)
@@ -1469,13 +1473,25 @@ static void bond_compute_features(struct @@ -1497,13 +1501,25 @@ static void bond_compute_features(struct
if (!bond_has_slaves(bond)) if (!bond_has_slaves(bond))
goto done; goto done;
@ -57,7 +57,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
enc_features = netdev_increment_features(enc_features, enc_features = netdev_increment_features(enc_features,
slave->dev->hw_enc_features, slave->dev->hw_enc_features,
BOND_ENC_FEATURES); BOND_ENC_FEATURES);
@@ -1620,6 +1636,16 @@ static rx_handler_result_t bond_handle_f @@ -1648,6 +1664,16 @@ static rx_handler_result_t bond_handle_f
bond->dev->addr_len); bond->dev->addr_len);
} }
@ -74,7 +74,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
return ret; return ret;
} }
@@ -1837,6 +1863,8 @@ int bond_enslave(struct net_device *bond @@ -1865,6 +1891,8 @@ int bond_enslave(struct net_device *bond
return -EPERM; return -EPERM;
} }
@ -83,7 +83,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
if (!bond->params.use_carrier && if (!bond->params.use_carrier &&
slave_dev->ethtool_ops->get_link == NULL && slave_dev->ethtool_ops->get_link == NULL &&
slave_ops->ndo_eth_ioctl == NULL) { slave_ops->ndo_eth_ioctl == NULL) {
@@ -1950,13 +1978,17 @@ int bond_enslave(struct net_device *bond @@ -1978,13 +2006,17 @@ int bond_enslave(struct net_device *bond
call_netdevice_notifiers(NETDEV_JOIN, slave_dev); call_netdevice_notifiers(NETDEV_JOIN, slave_dev);
/* If this is the first slave, then we need to set the master's hardware /* If this is the first slave, then we need to set the master's hardware
@ -107,7 +107,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
} }
new_slave = bond_alloc_slave(bond, slave_dev); new_slave = bond_alloc_slave(bond, slave_dev);
@@ -1985,18 +2017,21 @@ int bond_enslave(struct net_device *bond @@ -2013,18 +2045,21 @@ int bond_enslave(struct net_device *bond
bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr, bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr,
slave_dev->addr_len); slave_dev->addr_len);
@ -141,7 +141,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
} }
} }
@@ -2355,6 +2390,7 @@ err_undo_flags: @@ -2383,6 +2418,7 @@ err_undo_flags:
return res; return res;
} }
@ -149,7 +149,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
/* Try to release the slave device <slave> from the bond device <master> /* Try to release the slave device <slave> from the bond device <master>
* It is legal to access curr_active_slave without a lock because all the function * It is legal to access curr_active_slave without a lock because all the function
@@ -2476,13 +2512,23 @@ static int __bond_release_one(struct net @@ -2504,13 +2540,23 @@ static int __bond_release_one(struct net
} }
bond_set_carrier(bond); bond_set_carrier(bond);
@ -175,7 +175,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
if (!bond_has_slaves(bond)) { if (!bond_has_slaves(bond)) {
call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev); call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
call_netdevice_notifiers(NETDEV_RELEASE, bond->dev); call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
@@ -2549,6 +2595,7 @@ int bond_release(struct net_device *bond @@ -2577,6 +2623,7 @@ int bond_release(struct net_device *bond
{ {
return __bond_release_one(bond_dev, slave_dev, false, false); return __bond_release_one(bond_dev, slave_dev, false, false);
} }
@ -183,7 +183,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
/* First release a slave and then destroy the bond if no more slaves are left. /* First release a slave and then destroy the bond if no more slaves are left.
* Must be under rtnl_lock when this function is called. * Must be under rtnl_lock when this function is called.
@@ -2570,6 +2617,29 @@ static int bond_release_and_destroy(stru @@ -2598,6 +2645,29 @@ static int bond_release_and_destroy(stru
return ret; return ret;
} }
@ -213,7 +213,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
static void bond_info_query(struct net_device *bond_dev, struct ifbond *info) static void bond_info_query(struct net_device *bond_dev, struct ifbond *info)
{ {
struct bonding *bond = netdev_priv(bond_dev); struct bonding *bond = netdev_priv(bond_dev);
@@ -4221,6 +4291,24 @@ static struct net_device *bond_xor_get_t @@ -4249,6 +4319,24 @@ static struct net_device *bond_xor_get_t
return NULL; return NULL;
} }
@ -238,7 +238,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
/* bond_get_tx_dev - Calculate egress interface for a given packet. /* bond_get_tx_dev - Calculate egress interface for a given packet.
* *
* Supports 802.3AD and balance-xor modes * Supports 802.3AD and balance-xor modes
@@ -4261,6 +4349,9 @@ struct net_device *bond_get_tx_dev(struc @@ -4289,6 +4377,9 @@ struct net_device *bond_get_tx_dev(struc
return bond_3ad_get_tx_dev(skb, src_mac, dst_mac, return bond_3ad_get_tx_dev(skb, src_mac, dst_mac,
src, dst, protocol, src, dst, protocol,
bond_dev, layer4hdr); bond_dev, layer4hdr);
@ -248,7 +248,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
default: default:
return NULL; return NULL;
} }
@@ -5057,20 +5148,26 @@ static int bond_set_mac_address(struct n @@ -5085,20 +5176,26 @@ static int bond_set_mac_address(struct n
if (!is_valid_ether_addr(ss->__data)) if (!is_valid_ether_addr(ss->__data))
return -EADDRNOTAVAIL; return -EADDRNOTAVAIL;
@ -289,7 +289,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
} }
} }
@@ -5734,6 +5831,27 @@ static netdev_tx_t bond_tls_device_xmit( @@ -5762,6 +5859,27 @@ static netdev_tx_t bond_tls_device_xmit(
} }
#endif #endif
@ -317,7 +317,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev) static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ {
struct bonding *bond = netdev_priv(dev); struct bonding *bond = netdev_priv(dev);
@@ -5762,6 +5880,8 @@ static netdev_tx_t __bond_start_xmit(str @@ -5790,6 +5908,8 @@ static netdev_tx_t __bond_start_xmit(str
return bond_alb_xmit(skb, dev); return bond_alb_xmit(skb, dev);
case BOND_MODE_TLB: case BOND_MODE_TLB:
return bond_tlb_xmit(skb, dev); return bond_tlb_xmit(skb, dev);
@ -326,7 +326,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
default: default:
/* Should never happen, mode already checked */ /* Should never happen, mode already checked */
netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond)); netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond));
@@ -6104,6 +6224,15 @@ static void bond_destructor(struct net_d @@ -6132,6 +6252,15 @@ static void bond_destructor(struct net_d
if (bond->id != (~0U)) if (bond->id != (~0U))
clear_bit(bond->id, &bond_id_mask); clear_bit(bond->id, &bond_id_mask);
/* QCA NSS ECM bonding support */ /* QCA NSS ECM bonding support */
@ -342,7 +342,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
} }
void bond_setup(struct net_device *bond_dev) void bond_setup(struct net_device *bond_dev)
@@ -6680,6 +6809,76 @@ out: @@ -6708,6 +6837,76 @@ out:
return res; return res;
} }

View File

@ -373,7 +373,7 @@
subsys_initcall(pktsched_init); subsys_initcall(pktsched_init);
--- a/net/sched/sch_generic.c --- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c
@@ -1073,6 +1073,7 @@ static void __qdisc_destroy(struct Qdisc @@ -1074,6 +1074,7 @@ static void __qdisc_destroy(struct Qdisc
call_rcu(&qdisc->rcu, qdisc_free_cb); call_rcu(&qdisc->rcu, qdisc_free_cb);
} }

View File

@ -1,6 +1,6 @@
--- a/net/l2tp/l2tp_core.c --- a/net/l2tp/l2tp_core.c
+++ b/net/l2tp/l2tp_core.c +++ b/net/l2tp/l2tp_core.c
@@ -398,6 +398,31 @@ err_tlock: @@ -403,6 +403,31 @@ err_tlock:
} }
EXPORT_SYMBOL_GPL(l2tp_session_register); EXPORT_SYMBOL_GPL(l2tp_session_register);

View File

@ -51,7 +51,7 @@
#endif /* !(__LINUX_IF_PPPOX_H) */ #endif /* !(__LINUX_IF_PPPOX_H) */
--- a/drivers/net/ppp/ppp_generic.c --- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c
@@ -2973,6 +2973,20 @@ char *ppp_dev_name(struct ppp_channel *c @@ -2988,6 +2988,20 @@ char *ppp_dev_name(struct ppp_channel *c
return name; return name;
} }
@ -72,7 +72,7 @@
/* /*
* Disconnect a channel from the generic layer. * Disconnect a channel from the generic layer.
@@ -3681,6 +3695,28 @@ void ppp_update_stats(struct net_device @@ -3696,6 +3710,28 @@ void ppp_update_stats(struct net_device
ppp_recv_unlock(ppp); ppp_recv_unlock(ppp);
} }
@ -101,7 +101,7 @@
/* Returns >0 if the device is a multilink PPP netdevice, 0 if not or < 0 if /* Returns >0 if the device is a multilink PPP netdevice, 0 if not or < 0 if
* the device is not PPP. * the device is not PPP.
*/ */
@@ -3872,6 +3908,7 @@ EXPORT_SYMBOL(ppp_unregister_channel); @@ -3887,6 +3923,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
EXPORT_SYMBOL(ppp_channel_index); EXPORT_SYMBOL(ppp_channel_index);
EXPORT_SYMBOL(ppp_unit_number); EXPORT_SYMBOL(ppp_unit_number);
EXPORT_SYMBOL(ppp_dev_name); EXPORT_SYMBOL(ppp_dev_name);

View File

@ -22,7 +22,7 @@
#endif /* __NET_IP_TUNNELS_H */ #endif /* __NET_IP_TUNNELS_H */
--- a/net/ipv6/ip6_tunnel.c --- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c
@@ -2413,6 +2413,26 @@ nla_put_failure: @@ -2415,6 +2415,26 @@ nla_put_failure:
return -EMSGSIZE; return -EMSGSIZE;
} }

View File

@ -261,7 +261,7 @@
--- a/drivers/net/ppp/ppp_generic.c --- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c
@@ -3743,6 +3743,32 @@ int ppp_is_multilink(struct net_device * @@ -3758,6 +3758,32 @@ int ppp_is_multilink(struct net_device *
} }
EXPORT_SYMBOL(ppp_is_multilink); EXPORT_SYMBOL(ppp_is_multilink);
@ -294,7 +294,7 @@
/* ppp_channel_get_protocol() /* ppp_channel_get_protocol()
* Call this to obtain the underlying protocol of the PPP channel, * Call this to obtain the underlying protocol of the PPP channel,
* e.g. PX_PROTO_OE * e.g. PX_PROTO_OE
@@ -3881,6 +3907,59 @@ int ppp_hold_channels(struct net_device @@ -3896,6 +3922,59 @@ int ppp_hold_channels(struct net_device
} }
EXPORT_SYMBOL(ppp_hold_channels); EXPORT_SYMBOL(ppp_hold_channels);

View File

@ -1,6 +1,6 @@
--- a/net/ipv6/ip6_tunnel.c --- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c
@@ -2419,7 +2419,7 @@ nla_put_failure: @@ -2421,7 +2421,7 @@ nla_put_failure:
*/ */
void ip6_update_offload_stats(struct net_device *dev, void *ptr) void ip6_update_offload_stats(struct net_device *dev, void *ptr)
{ {

View File

@ -25,7 +25,7 @@
* flag unset if they can't handle memory allocation failures. * flag unset if they can't handle memory allocation failures.
--- a/net/ipv4/esp4.c --- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c
@@ -658,6 +658,7 @@ static int esp_output(struct xfrm_state @@ -657,6 +657,7 @@ static int esp_output(struct xfrm_state
struct ip_esp_hdr *esph; struct ip_esp_hdr *esph;
struct crypto_aead *aead; struct crypto_aead *aead;
struct esp_info esp; struct esp_info esp;
@ -33,7 +33,7 @@
esp.inplace = true; esp.inplace = true;
@@ -669,6 +670,11 @@ static int esp_output(struct xfrm_state @@ -668,6 +669,11 @@ static int esp_output(struct xfrm_state
aead = x->data; aead = x->data;
alen = crypto_aead_authsize(aead); alen = crypto_aead_authsize(aead);
@ -45,7 +45,7 @@
esp.tfclen = 0; esp.tfclen = 0;
if (x->tfcpad) { if (x->tfcpad) {
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
@@ -890,6 +896,7 @@ static int esp_input(struct xfrm_state * @@ -889,6 +895,7 @@ static int esp_input(struct xfrm_state *
u8 *iv; u8 *iv;
struct scatterlist *sg; struct scatterlist *sg;
int err = -EINVAL; int err = -EINVAL;
@ -53,7 +53,7 @@
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen))
goto out; goto out;
@@ -897,6 +904,12 @@ static int esp_input(struct xfrm_state * @@ -896,6 +903,12 @@ static int esp_input(struct xfrm_state *
if (elen <= 0) if (elen <= 0)
goto out; goto out;
@ -68,7 +68,7 @@
--- a/net/ipv6/esp6.c --- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c
@@ -696,6 +696,7 @@ static int esp6_output(struct xfrm_state @@ -695,6 +695,7 @@ static int esp6_output(struct xfrm_state
struct ip_esp_hdr *esph; struct ip_esp_hdr *esph;
struct crypto_aead *aead; struct crypto_aead *aead;
struct esp_info esp; struct esp_info esp;
@ -76,7 +76,7 @@
esp.inplace = true; esp.inplace = true;
@@ -707,6 +708,11 @@ static int esp6_output(struct xfrm_state @@ -706,6 +707,11 @@ static int esp6_output(struct xfrm_state
aead = x->data; aead = x->data;
alen = crypto_aead_authsize(aead); alen = crypto_aead_authsize(aead);
@ -88,7 +88,7 @@
esp.tfclen = 0; esp.tfclen = 0;
if (x->tfcpad) { if (x->tfcpad) {
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
@@ -934,6 +940,7 @@ static int esp6_input(struct xfrm_state @@ -933,6 +939,7 @@ static int esp6_input(struct xfrm_state
__be32 *seqhi; __be32 *seqhi;
u8 *iv; u8 *iv;
struct scatterlist *sg; struct scatterlist *sg;
@ -96,7 +96,7 @@
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) { if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) {
ret = -EINVAL; ret = -EINVAL;
@@ -945,6 +952,12 @@ static int esp6_input(struct xfrm_state @@ -944,6 +951,12 @@ static int esp6_input(struct xfrm_state
goto out; goto out;
} }

View File

@ -68,7 +68,7 @@ Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
--- a/net/ipv6/ip6_output.c --- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c
@@ -498,6 +498,9 @@ int ip6_forward(struct sk_buff *skb) @@ -506,6 +506,9 @@ int ip6_forward(struct sk_buff *skb)
u32 mtu; u32 mtu;
idev = __in6_dev_get_safely(dev_get_by_index_rcu(net, IP6CB(skb)->iif)); idev = __in6_dev_get_safely(dev_get_by_index_rcu(net, IP6CB(skb)->iif));

View File

@ -1,76 +0,0 @@
From b7f824141f4163c64a940f3a69bf6d8b76f77c7f Mon Sep 17 00:00:00 2001
From: Niklas Cassel <cassel@kernel.org>
Date: Wed, 17 Apr 2024 18:42:26 +0200
Subject: [PATCH] PCI: dw-rockchip: Fix initial PERST# GPIO value
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
PERST# is active low according to the PCIe specification.
However, the existing pcie-dw-rockchip.c driver does:
gpiod_set_value(..., 0); msleep(100); gpiod_set_value(..., 1);
when asserting + deasserting PERST#.
This is of course wrong, but because all the device trees for this
compatible string have also incorrectly marked this GPIO as ACTIVE_HIGH:
$ git grep -B 10 reset-gpios arch/arm64/boot/dts/rockchip/rk3568*
$ git grep -B 10 reset-gpios arch/arm64/boot/dts/rockchip/rk3588*
The actual toggling of PERST# is correct, and we cannot change it anyway,
since that would break device tree compatibility.
However, this driver does request the GPIO to be initialized as
GPIOD_OUT_HIGH, which does cause a silly sequence where PERST# gets
toggled back and forth for no good reason.
Fix this by requesting the GPIO to be initialized as GPIOD_OUT_LOW (which
for this driver means PERST# asserted).
This will avoid an unnecessary signal change where PERST# gets deasserted
(by devm_gpiod_get_optional()) and then gets asserted (by
rockchip_pcie_start_link()) just a few instructions later.
Before patch, debug prints on EP side, when booting RC:
[ 845.606810] pci: PERST# asserted by host!
[ 852.483985] pci: PERST# de-asserted by host!
[ 852.503041] pci: PERST# asserted by host!
[ 852.610318] pci: PERST# de-asserted by host!
After patch, debug prints on EP side, when booting RC:
[ 125.107921] pci: PERST# asserted by host!
[ 132.111429] pci: PERST# de-asserted by host!
This extra, very short, PERST# assertion + deassertion has been reported to
cause issues with certain WLAN controllers, e.g. RTL8822CE.
Fixes: 0e898eb8df4e ("PCI: rockchip-dwc: Add Rockchip RK356X host controller driver")
Link: https://lore.kernel.org/linux-pci/20240417164227.398901-1-cassel@kernel.org
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Jianfeng Liu <liujianfeng1994@gmail.com>
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: stable@vger.kernel.org # v5.15+
---
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -240,7 +240,7 @@ static int rockchip_pcie_resource_get(st
return PTR_ERR(rockchip->apb_base);
rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
- GPIOD_OUT_HIGH);
+ GPIOD_OUT_LOW);
if (IS_ERR(rockchip->rst_gpio))
return PTR_ERR(rockchip->rst_gpio);

View File

@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
TxDescStartAddrLow = 0x20, TxDescStartAddrLow = 0x20,
TxDescStartAddrHigh = 0x24, TxDescStartAddrHigh = 0x24,
TxHDescStartAddrLow = 0x28, TxHDescStartAddrLow = 0x28,
@@ -5264,6 +5266,22 @@ static bool rtl_aspm_is_safe(struct rtl8 @@ -5260,6 +5262,22 @@ static bool rtl_aspm_is_safe(struct rtl8
return false; return false;
} }
@ -48,7 +48,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
{ {
struct rtl8169_private *tp; struct rtl8169_private *tp;
@@ -5435,6 +5453,7 @@ static int rtl_init_one(struct pci_dev * @@ -5431,6 +5449,7 @@ static int rtl_init_one(struct pci_dev *
if (!tp->counters) if (!tp->counters)
return -ENOMEM; return -ENOMEM;

View File

@ -18,7 +18,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
#define RTL8211F_PHYCR1 0x18 #define RTL8211F_PHYCR1 0x18
#define RTL8211F_PHYCR2 0x19 #define RTL8211F_PHYCR2 0x19
#define RTL8211F_INSR 0x1d #define RTL8211F_INSR 0x1d
@@ -350,6 +352,7 @@ static int rtl8211f_config_init(struct p @@ -354,6 +356,7 @@ static int rtl8211f_config_init(struct p
struct rtl821x_priv *priv = phydev->priv; struct rtl821x_priv *priv = phydev->priv;
struct device *dev = &phydev->mdio.dev; struct device *dev = &phydev->mdio.dev;
u16 val_txdly, val_rxdly; u16 val_txdly, val_rxdly;
@ -26,7 +26,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
int ret; int ret;
ret = phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1, ret = phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1,
@@ -416,6 +419,15 @@ static int rtl8211f_config_init(struct p @@ -420,6 +423,15 @@ static int rtl8211f_config_init(struct p
val_rxdly ? "enabled" : "disabled"); val_rxdly ? "enabled" : "disabled");
} }

View File

@ -24,7 +24,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
--- a/drivers/mmc/core/core.c --- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c
@@ -1371,6 +1371,8 @@ void mmc_power_off(struct mmc_host *host @@ -1370,6 +1370,8 @@ void mmc_power_off(struct mmc_host *host
mmc_pwrseq_power_off(host); mmc_pwrseq_power_off(host);

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/Kconfig --- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig
@@ -1169,6 +1169,14 @@ config SOCIONEXT_SYNQUACER_PREITS @@ -1207,6 +1207,14 @@ config SOCIONEXT_SYNQUACER_PREITS
If unsure, say Y. If unsure, say Y.
@ -83,7 +83,7 @@
}; };
usb_host0_ehci: usb@fd800000 { usb_host0_ehci: usb@fd800000 {
@@ -978,7 +985,7 @@ @@ -979,7 +986,7 @@
num-ib-windows = <6>; num-ib-windows = <6>;
num-ob-windows = <2>; num-ob-windows = <2>;
max-link-speed = <2>; max-link-speed = <2>;

View File

@ -138,7 +138,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
if (alloc_lpis) { if (alloc_lpis) {
lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis);
if (lpi_map) if (lpi_map)
@@ -4706,6 +4743,13 @@ static bool __maybe_unused its_enable_qu @@ -4704,6 +4741,13 @@ static bool __maybe_unused its_enable_qu
return true; return true;
} }
@ -152,7 +152,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
static const struct gic_quirk its_quirks[] = { static const struct gic_quirk its_quirks[] = {
#ifdef CONFIG_CAVIUM_ERRATUM_22375 #ifdef CONFIG_CAVIUM_ERRATUM_22375
{ {
@@ -4752,6 +4796,14 @@ static const struct gic_quirk its_quirks @@ -4750,6 +4794,14 @@ static const struct gic_quirk its_quirks
.init = its_enable_quirk_hip07_161600802, .init = its_enable_quirk_hip07_161600802,
}, },
#endif #endif
@ -167,7 +167,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
{ {
} }
}; };
@@ -5007,6 +5059,7 @@ static int __init its_probe_one(struct r @@ -5005,6 +5057,7 @@ static int __init its_probe_one(struct r
struct page *page; struct page *page;
u32 ctlr; u32 ctlr;
int err; int err;
@ -175,7 +175,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
its_base = its_map_one(res, &err); its_base = its_map_one(res, &err);
if (!its_base) if (!its_base)
@@ -5060,7 +5113,9 @@ static int __init its_probe_one(struct r @@ -5058,7 +5111,9 @@ static int __init its_probe_one(struct r
its->numa_node = numa_node; its->numa_node = numa_node;
@ -186,7 +186,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
get_order(ITS_CMD_QUEUE_SZ)); get_order(ITS_CMD_QUEUE_SZ));
if (!page) { if (!page) {
err = -ENOMEM; err = -ENOMEM;
@@ -5091,6 +5146,9 @@ static int __init its_probe_one(struct r @@ -5089,6 +5144,9 @@ static int __init its_probe_one(struct r
gits_write_cbaser(baser, its->base + GITS_CBASER); gits_write_cbaser(baser, its->base + GITS_CBASER);
tmp = gits_read_cbaser(its->base + GITS_CBASER); tmp = gits_read_cbaser(its->base + GITS_CBASER);

View File

@ -12,7 +12,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
--- a/drivers/pinctrl/pinctrl-rockchip.c --- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -2019,6 +2019,150 @@ static int rk3568_calc_pull_reg_and_bit( @@ -2006,6 +2006,150 @@ static int rk3568_calc_pull_reg_and_bit(
return 0; return 0;
} }
@ -163,7 +163,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
#define RK3568_DRV_PMU_OFFSET 0x70 #define RK3568_DRV_PMU_OFFSET 0x70
#define RK3568_DRV_GRF_OFFSET 0x200 #define RK3568_DRV_GRF_OFFSET 0x200
#define RK3568_DRV_BITS_PER_PIN 8 #define RK3568_DRV_BITS_PER_PIN 8
@@ -2342,6 +2486,10 @@ static int rockchip_set_drive_perpin(str @@ -2329,6 +2473,10 @@ static int rockchip_set_drive_perpin(str
rmask_bits = RK3588_DRV_BITS_PER_PIN; rmask_bits = RK3588_DRV_BITS_PER_PIN;
ret = strength; ret = strength;
goto config; goto config;
@ -174,7 +174,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
} else if (ctrl->type == RK3568) { } else if (ctrl->type == RK3568) {
rmask_bits = RK3568_DRV_BITS_PER_PIN; rmask_bits = RK3568_DRV_BITS_PER_PIN;
ret = (1 << (strength + 1)) - 1; ret = (1 << (strength + 1)) - 1;
@@ -2482,6 +2630,7 @@ static int rockchip_get_pull(struct rock @@ -2469,6 +2617,7 @@ static int rockchip_get_pull(struct rock
case RK3328: case RK3328:
case RK3368: case RK3368:
case RK3399: case RK3399:
@ -182,7 +182,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
case RK3568: case RK3568:
case RK3588: case RK3588:
pull_type = bank->pull_type[pin_num / 8]; pull_type = bank->pull_type[pin_num / 8];
@@ -2541,6 +2690,7 @@ static int rockchip_set_pull(struct rock @@ -2528,6 +2677,7 @@ static int rockchip_set_pull(struct rock
case RK3328: case RK3328:
case RK3368: case RK3368:
case RK3399: case RK3399:
@ -190,7 +190,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
case RK3568: case RK3568:
case RK3588: case RK3588:
pull_type = bank->pull_type[pin_num / 8]; pull_type = bank->pull_type[pin_num / 8];
@@ -2806,6 +2956,7 @@ static bool rockchip_pinconf_pull_valid( @@ -2793,6 +2943,7 @@ static bool rockchip_pinconf_pull_valid(
case RK3328: case RK3328:
case RK3368: case RK3368:
case RK3399: case RK3399:
@ -198,7 +198,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
case RK3568: case RK3568:
case RK3588: case RK3588:
return (pull != PIN_CONFIG_BIAS_PULL_PIN_DEFAULT); return (pull != PIN_CONFIG_BIAS_PULL_PIN_DEFAULT);
@@ -3931,6 +4082,49 @@ static struct rockchip_pin_ctrl rk3399_p @@ -3918,6 +4069,49 @@ static struct rockchip_pin_ctrl rk3399_p
.drv_calc_reg = rk3399_calc_drv_reg_and_bit, .drv_calc_reg = rk3399_calc_drv_reg_and_bit,
}; };
@ -248,7 +248,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
static struct rockchip_pin_bank rk3568_pin_banks[] = { static struct rockchip_pin_bank rk3568_pin_banks[] = {
PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT, PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT, IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
@@ -4024,6 +4218,8 @@ static const struct of_device_id rockchi @@ -4011,6 +4205,8 @@ static const struct of_device_id rockchi
.data = &rk3368_pin_ctrl }, .data = &rk3368_pin_ctrl },
{ .compatible = "rockchip,rk3399-pinctrl", { .compatible = "rockchip,rk3399-pinctrl",
.data = &rk3399_pin_ctrl }, .data = &rk3399_pin_ctrl },

View File

@ -179,7 +179,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
GATE(0, "clk_ddrupctl", "clk_ddr", CLK_IGNORE_UNUSED, GATE(0, "clk_ddrupctl", "clk_ddr", CLK_IGNORE_UNUSED,
--- a/drivers/clk/rockchip/clk.h --- a/drivers/clk/rockchip/clk.h
+++ b/drivers/clk/rockchip/clk.h +++ b/drivers/clk/rockchip/clk.h
@@ -418,7 +418,8 @@ struct clk *rockchip_clk_register_mmc(co @@ -447,7 +447,8 @@ struct clk *rockchip_clk_register_mmc(co
* DDRCLK flags, including method of setting the rate * DDRCLK flags, including method of setting the rate
* ROCKCHIP_DDRCLK_SIP: use SIP call to bl31 to change ddrclk rate. * ROCKCHIP_DDRCLK_SIP: use SIP call to bl31 to change ddrclk rate.
*/ */

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi --- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
@@ -90,10 +90,9 @@ opp-1416000000 { @@ -90,10 +90,9 @@
opp-1512000000 { opp-1512000000 {
opp-hz = /bits/ 64 <1512000000>; opp-hz = /bits/ 64 <1512000000>;

View File

@ -81,7 +81,7 @@ and performance for all other cases.
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -5424,6 +5424,7 @@ static bool tcp_prune_ofo_queue(struct s @@ -5443,6 +5443,7 @@ static bool tcp_prune_ofo_queue(struct s
static int tcp_prune_queue(struct sock *sk) static int tcp_prune_queue(struct sock *sk)
{ {
struct tcp_sock *tp = tcp_sk(sk); struct tcp_sock *tp = tcp_sk(sk);
@ -89,7 +89,7 @@ and performance for all other cases.
NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED); NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED);
@@ -5435,6 +5436,39 @@ static int tcp_prune_queue(struct sock * @@ -5454,6 +5455,39 @@ static int tcp_prune_queue(struct sock *
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
return 0; return 0;
@ -129,7 +129,7 @@ and performance for all other cases.
tcp_collapse_ofo_queue(sk); tcp_collapse_ofo_queue(sk);
if (!skb_queue_empty(&sk->sk_receive_queue)) if (!skb_queue_empty(&sk->sk_receive_queue))
tcp_collapse(sk, &sk->sk_receive_queue, NULL, tcp_collapse(sk, &sk->sk_receive_queue, NULL,
@@ -5453,6 +5487,8 @@ static int tcp_prune_queue(struct sock * @@ -5472,6 +5506,8 @@ static int tcp_prune_queue(struct sock *
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
return 0; return 0;
@ -140,7 +140,7 @@ and performance for all other cases.
* and hopefully then we'll have sufficient space. * and hopefully then we'll have sufficient space.
--- a/net/ipv4/tcp_ipv4.c --- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c
@@ -3240,6 +3240,8 @@ static int __net_init tcp_sk_init(struct @@ -3237,6 +3237,8 @@ static int __net_init tcp_sk_init(struct
net->ipv4.sysctl_tcp_shrink_window = 0; net->ipv4.sysctl_tcp_shrink_window = 0;