mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 6.1 to 6.1.119 (#13185)
This commit is contained in:
parent
fd9b9cc78b
commit
e66ffaf37c
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .118
|
||||
LINUX_KERNEL_HASH-6.1.118 = 010784bd7161c32c4cd68a423d4dcb14e4587677d238b2825a31fe012869224c
|
||||
LINUX_VERSION-6.1 = .119
|
||||
LINUX_KERNEL_HASH-6.1.119 = aecdaf39d0a844a81ce4c67d9daff8979e938bb690df4f679fbbb494fe423278
|
||||
|
@ -361,7 +361,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
||||
static void mem_cgroup_css_free(struct cgroup_subsys_state *css)
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -7956,6 +7956,7 @@ static void __init free_area_init_node(i
|
||||
@@ -7988,6 +7988,7 @@ static void __init free_area_init_node(i
|
||||
pgdat_set_deferred_range(pgdat);
|
||||
|
||||
free_area_init_core(pgdat);
|
||||
|
@ -202,7 +202,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
.mac_link_up = am65_cpsw_nuss_mac_link_up,
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
@@ -1741,7 +1741,6 @@ static void axienet_mac_link_up(struct p
|
||||
@@ -1750,7 +1750,6 @@ static void axienet_mac_link_up(struct p
|
||||
}
|
||||
|
||||
static const struct phylink_mac_ops axienet_phylink_ops = {
|
||||
|
@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
supported = mac_dev->phylink_config.supported_interfaces;
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
@@ -1636,7 +1636,7 @@ static void axienet_pcs_an_restart(struc
|
||||
@@ -1645,7 +1645,7 @@ static void axienet_pcs_an_restart(struc
|
||||
phylink_mii_c22_pcs_an_restart(pcs_phy);
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
phy_interface_t interface,
|
||||
const unsigned long *advertising,
|
||||
bool permit_pause_to_mac)
|
||||
@@ -1658,7 +1658,8 @@ static int axienet_pcs_config(struct phy
|
||||
@@ -1667,7 +1667,8 @@ static int axienet_pcs_config(struct phy
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
if (ret < 0)
|
||||
netdev_warn(ndev, "Failed to configure PCS: %d\n", ret);
|
||||
|
||||
@@ -2138,6 +2139,7 @@ static int axienet_probe(struct platform
|
||||
@@ -2147,6 +2148,7 @@ static int axienet_probe(struct platform
|
||||
}
|
||||
of_node_put(np);
|
||||
lp->pcs.ops = &axienet_pcs_ops;
|
||||
|
@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
/**
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -6533,7 +6533,7 @@ static int __napi_poll(struct napi_struc
|
||||
@@ -6541,7 +6541,7 @@ static int __napi_poll(struct napi_struc
|
||||
* accidentally calling ->poll() when NAPI is not scheduled.
|
||||
*/
|
||||
work = 0;
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
__netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue));
|
||||
|
||||
@@ -5490,12 +5494,13 @@ static int stmmac_napi_poll_tx(struct na
|
||||
@@ -5503,12 +5507,13 @@ static int stmmac_napi_poll_tx(struct na
|
||||
struct stmmac_channel *ch =
|
||||
container_of(napi, struct stmmac_channel, tx_napi);
|
||||
struct stmmac_priv *priv = ch->priv_data;
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
work_done = min(work_done, budget);
|
||||
|
||||
if (work_done < budget && napi_complete_done(napi, work_done)) {
|
||||
@@ -5506,6 +5511,10 @@ static int stmmac_napi_poll_tx(struct na
|
||||
@@ -5519,6 +5524,10 @@ static int stmmac_napi_poll_tx(struct na
|
||||
spin_unlock_irqrestore(&ch->lock, flags);
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
return work_done;
|
||||
}
|
||||
|
||||
@@ -5514,12 +5523,13 @@ static int stmmac_napi_poll_rxtx(struct
|
||||
@@ -5527,12 +5536,13 @@ static int stmmac_napi_poll_rxtx(struct
|
||||
struct stmmac_channel *ch =
|
||||
container_of(napi, struct stmmac_channel, rxtx_napi);
|
||||
struct stmmac_priv *priv = ch->priv_data;
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
tx_done = min(tx_done, budget);
|
||||
|
||||
rx_done = stmmac_rx_zc(priv, budget, chan);
|
||||
@@ -5544,6 +5554,10 @@ static int stmmac_napi_poll_rxtx(struct
|
||||
@@ -5557,6 +5567,10 @@ static int stmmac_napi_poll_rxtx(struct
|
||||
spin_unlock_irqrestore(&ch->lock, flags);
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||
@@ -542,6 +542,8 @@ static const struct mhi_pci_dev_info mhi
|
||||
@@ -551,6 +551,8 @@ static const struct mhi_pci_dev_info mhi
|
||||
static const struct pci_device_id mhi_pci_id_table[] = {
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
|
||||
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||
@@ -599,6 +599,9 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -608,6 +608,9 @@ static const struct pci_device_id mhi_pc
|
||||
/* MV32-WB (Cinterion) */
|
||||
{ PCI_DEVICE(0x1269, 0x00bb),
|
||||
.driver_data = (kernel_ulong_t) &mhi_mv32_info },
|
||||
|
@ -28,8 +28,8 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
/**
|
||||
* struct mhi_pci_dev_info - MHI PCI device specific information
|
||||
* @config: MHI controller configuration
|
||||
@@ -560,11 +564,11 @@ static const struct pci_device_id mhi_pc
|
||||
.driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
|
||||
@@ -569,11 +573,11 @@ static const struct pci_device_id mhi_pc
|
||||
.driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
|
||||
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
|
||||
- { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||
/* T99W175 (sdx55), Both for eSIM and Non-eSIM */
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
|
||||
@@ -588,16 +592,16 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -597,16 +601,16 @@ static const struct pci_device_id mhi_pc
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9),
|
||||
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info },
|
||||
/* MV31-W (Cinterion) */
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/mhi.h>
|
||||
@@ -904,11 +903,9 @@ static int mhi_pci_probe(struct pci_dev
|
||||
@@ -913,11 +912,9 @@ static int mhi_pci_probe(struct pci_dev
|
||||
mhi_pdev->pci_state = pci_store_saved_state(pdev);
|
||||
pci_load_saved_state(pdev, NULL);
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
/* MHI bus does not power up the controller by default */
|
||||
err = mhi_prepare_for_power_up(mhi_cntrl);
|
||||
@@ -942,8 +939,6 @@ err_unprepare:
|
||||
@@ -951,8 +948,6 @@ err_unprepare:
|
||||
mhi_unprepare_after_power_down(mhi_cntrl);
|
||||
err_unregister:
|
||||
mhi_unregister_controller(mhi_cntrl);
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -966,7 +961,6 @@ static void mhi_pci_remove(struct pci_de
|
||||
@@ -975,7 +970,6 @@ static void mhi_pci_remove(struct pci_de
|
||||
pm_runtime_get_noresume(&pdev->dev);
|
||||
|
||||
mhi_unregister_controller(mhi_cntrl);
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = {
|
||||
.name = "foxconn-sdx55",
|
||||
.fw = "qcom/sdx55m/sbl1.mbn",
|
||||
@@ -590,6 +599,15 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -599,6 +608,15 @@ static const struct pci_device_id mhi_pc
|
||||
/* T99W373 (sdx62) */
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9),
|
||||
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info },
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||
@@ -594,6 +594,8 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -603,6 +603,8 @@ static const struct pci_device_id mhi_pc
|
||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
|
||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||
|
@ -37,7 +37,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = {
|
||||
MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 32, 0),
|
||||
MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 32, 0),
|
||||
@@ -594,6 +604,9 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -603,6 +613,9 @@ static const struct pci_device_id mhi_pc
|
||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
|
||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||
@@ -641,6 +641,12 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -650,6 +650,12 @@ static const struct pci_device_id mhi_pc
|
||||
/* T99W510 (sdx24), variant 3 */
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0f2),
|
||||
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx24_info },
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
|
||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||
@@ -607,6 +607,9 @@ static const struct pci_device_id mhi_pc
|
||||
@@ -616,6 +616,9 @@ static const struct pci_device_id mhi_pc
|
||||
/* RM520N-GL (sdx6x), eSIM */
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1004),
|
||||
.driver_data = (kernel_ulong_t) &mhi_quectel_rm5xx_info },
|
||||
|
@ -51,8 +51,8 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
static const struct mhi_pci_dev_info mhi_qcom_sdx65_info = {
|
||||
.name = "qcom-sdx65m",
|
||||
.fw = "qcom/sdx65m/xbl.elf",
|
||||
@@ -600,6 +620,8 @@ static const struct pci_device_id mhi_pc
|
||||
.driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
|
||||
@@ -609,6 +629,8 @@ static const struct pci_device_id mhi_pc
|
||||
.driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
|
||||
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0309),
|
||||
|
@ -43,7 +43,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1158,6 +1163,11 @@ static const struct usb_device_id option
|
||||
@@ -1160,6 +1165,11 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
|
||||
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
|
||||
@ -55,7 +55,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
||||
/* Quectel products using Qualcomm vendor ID */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
|
||||
@@ -1199,6 +1209,11 @@ static const struct usb_device_id option
|
||||
@@ -1201,6 +1211,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
@ -385,7 +385,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/ipv4/proc.c
|
||||
+++ b/net/ipv4/proc.c
|
||||
@@ -553,5 +553,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -555,5 +555,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
int __init ip_misc_proc_init(void)
|
||||
{
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
--- a/drivers/base/core.c
|
||||
+++ b/drivers/base/core.c
|
||||
@@ -1718,7 +1718,7 @@ static void device_links_purge(struct de
|
||||
@@ -1717,7 +1717,7 @@ static void device_links_purge(struct de
|
||||
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
|
||||
DL_FLAG_PM_RUNTIME)
|
||||
|
||||
|
@ -299,7 +299,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state)
|
||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||
+++ b/net/netfilter/nf_conntrack_netlink.c
|
||||
@@ -723,12 +723,19 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
@@ -720,12 +720,19 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
}
|
||||
|
||||
static int
|
||||
@ -319,7 +319,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
struct nf_conn *ct = item->ct;
|
||||
struct sk_buff *skb;
|
||||
unsigned int type;
|
||||
@@ -3755,11 +3762,17 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
@@ -3752,11 +3759,17 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
@ -337,7 +337,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
|
||||
static const struct nfnl_callback ctnl_cb[IPCTNL_MSG_MAX] = {
|
||||
[IPCTNL_MSG_CT_NEW] = {
|
||||
@@ -3858,8 +3871,12 @@ static int __net_init ctnetlink_net_init
|
||||
@@ -3855,8 +3868,12 @@ static int __net_init ctnetlink_net_init
|
||||
static void ctnetlink_net_pre_exit(struct net *net)
|
||||
{
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
|
@ -111,7 +111,7 @@
|
||||
|
||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
||||
if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb)))
|
||||
@@ -5266,6 +5274,11 @@ void netdev_rx_handler_unregister(struct
|
||||
@@ -5274,6 +5282,11 @@ void netdev_rx_handler_unregister(struct
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
/*
|
||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||
* the special handling of PFMEMALLOC skbs.
|
||||
@@ -5314,6 +5327,10 @@ static int __netif_receive_skb_core(stru
|
||||
@@ -5322,6 +5335,10 @@ static int __netif_receive_skb_core(stru
|
||||
int ret = NET_RX_DROP;
|
||||
__be16 type;
|
||||
|
||||
@ -134,7 +134,7 @@
|
||||
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
|
||||
|
||||
trace_netif_receive_skb(skb);
|
||||
@@ -5351,6 +5368,15 @@ another_round:
|
||||
@@ -5359,6 +5376,15 @@ another_round:
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
|
||||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -7910,7 +7910,7 @@ static void __init alloc_node_mem_map(st
|
||||
@@ -7942,7 +7942,7 @@ static void __init alloc_node_mem_map(st
|
||||
if (pgdat == NODE_DATA(0)) {
|
||||
mem_map = NODE_DATA(0)->node_mem_map;
|
||||
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||||
|
||||
--- a/arch/powerpc/Kconfig
|
||||
+++ b/arch/powerpc/Kconfig
|
||||
@@ -229,7 +229,7 @@ config PPC
|
||||
@@ -235,7 +235,7 @@ config PPC
|
||||
select HAVE_KERNEL_GZIP
|
||||
select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE
|
||||
select HAVE_KERNEL_LZO if DEFAULT_UIMAGE
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -8017,7 +8017,7 @@ static int nft_register_flowtable_net_ho
|
||||
@@ -8023,7 +8023,7 @@ static int nft_register_flowtable_net_ho
|
||||
err = flowtable->data.type->setup(&flowtable->data,
|
||||
hook->ops.dev,
|
||||
FLOW_BLOCK_BIND);
|
||||
|
@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
struct rtnl_link {
|
||||
rtnl_doit_func doit;
|
||||
@@ -4840,7 +4840,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
|
||||
@@ -4869,7 +4869,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
|
||||
brport_nla_put_flag(skb, flags, mask,
|
||||
IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
|
||||
brport_nla_put_flag(skb, flags, mask,
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -4625,7 +4625,7 @@ static int napi_schedule_rps(struct soft
|
||||
@@ -4633,7 +4633,7 @@ static int napi_schedule_rps(struct soft
|
||||
struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
|
||||
|
||||
#ifdef CONFIG_RPS
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
sd->rps_ipi_next = mysd->rps_ipi_list;
|
||||
mysd->rps_ipi_list = sd;
|
||||
|
||||
@@ -5806,6 +5806,8 @@ static DEFINE_PER_CPU(struct work_struct
|
||||
@@ -5814,6 +5814,8 @@ static DEFINE_PER_CPU(struct work_struct
|
||||
/* Network device is going away, flush any packets still pending */
|
||||
static void flush_backlog(struct work_struct *work)
|
||||
{
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
struct sk_buff *skb, *tmp;
|
||||
struct softnet_data *sd;
|
||||
|
||||
@@ -5820,8 +5822,17 @@ static void flush_backlog(struct work_st
|
||||
@@ -5828,8 +5830,17 @@ static void flush_backlog(struct work_st
|
||||
input_queue_head_incr(sd);
|
||||
}
|
||||
}
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
|
||||
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
|
||||
__skb_unlink(skb, &sd->process_queue);
|
||||
@@ -5829,7 +5840,16 @@ static void flush_backlog(struct work_st
|
||||
@@ -5837,7 +5848,16 @@ static void flush_backlog(struct work_st
|
||||
input_queue_head_incr(sd);
|
||||
}
|
||||
}
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static bool flush_required(int cpu)
|
||||
@@ -5961,6 +5981,7 @@ static int process_backlog(struct napi_s
|
||||
@@ -5969,6 +5989,7 @@ static int process_backlog(struct napi_s
|
||||
}
|
||||
|
||||
rps_lock_irq_disable(sd);
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (skb_queue_empty(&sd->input_pkt_queue)) {
|
||||
/*
|
||||
* Inline a custom version of __napi_complete().
|
||||
@@ -5970,7 +5991,8 @@ static int process_backlog(struct napi_s
|
||||
@@ -5978,7 +5999,8 @@ static int process_backlog(struct napi_s
|
||||
* We can use a plain write instead of clear_bit(),
|
||||
* and we dont need an smp_mb() memory barrier.
|
||||
*/
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
again = false;
|
||||
} else {
|
||||
skb_queue_splice_tail_init(&sd->input_pkt_queue,
|
||||
@@ -6386,6 +6408,55 @@ int dev_set_threaded(struct net_device *
|
||||
@@ -6394,6 +6416,55 @@ int dev_set_threaded(struct net_device *
|
||||
}
|
||||
EXPORT_SYMBOL(dev_set_threaded);
|
||||
|
||||
@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
|
||||
int (*poll)(struct napi_struct *, int), int weight)
|
||||
{
|
||||
@@ -11127,6 +11198,9 @@ static int dev_cpu_dead(unsigned int old
|
||||
@@ -11135,6 +11206,9 @@ static int dev_cpu_dead(unsigned int old
|
||||
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
||||
local_irq_enable();
|
||||
|
||||
@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#ifdef CONFIG_RPS
|
||||
remsd = oldsd->rps_ipi_list;
|
||||
oldsd->rps_ipi_list = NULL;
|
||||
@@ -11439,6 +11513,7 @@ static int __init net_dev_init(void)
|
||||
@@ -11447,6 +11521,7 @@ static int __init net_dev_init(void)
|
||||
INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
|
||||
spin_lock_init(&sd->defer_lock);
|
||||
|
||||
|
@ -95,7 +95,7 @@ Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1209,6 +1209,46 @@ static void b53_force_port_config(struct
|
||||
@@ -1213,6 +1213,46 @@ static void b53_force_port_config(struct
|
||||
b53_write8(dev, B53_CTRL_PAGE, off, reg);
|
||||
}
|
||||
|
||||
@ -142,7 +142,7 @@ Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
static void b53_adjust_link(struct dsa_switch *ds, int port,
|
||||
struct phy_device *phydev)
|
||||
{
|
||||
@@ -1235,6 +1275,9 @@ static void b53_adjust_link(struct dsa_s
|
||||
@@ -1239,6 +1279,9 @@ static void b53_adjust_link(struct dsa_s
|
||||
tx_pause, rx_pause);
|
||||
b53_force_link(dev, port, phydev->link);
|
||||
|
||||
@ -152,7 +152,7 @@ Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
|
||||
if (port == dev->imp_port)
|
||||
off = B53_RGMII_CTRL_IMP;
|
||||
@@ -1402,6 +1445,9 @@ void b53_phylink_mac_link_up(struct dsa_
|
||||
@@ -1406,6 +1449,9 @@ void b53_phylink_mac_link_up(struct dsa_
|
||||
{
|
||||
struct b53_device *dev = ds->priv;
|
||||
|
||||
|
@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2469,6 +2469,19 @@ static const struct b53_chip_data b53_sw
|
||||
@@ -2478,6 +2478,19 @@ static const struct b53_chip_data b53_sw
|
||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
|
||||
},
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ Reviewed-by: Simon Horman <simon.horman@corigine.com>
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -1240,8 +1240,12 @@ static void b53_adjust_63xx_rgmii(struct
|
||||
@@ -1244,8 +1244,12 @@ static void b53_adjust_63xx_rgmii(struct
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/drivers/net/dsa/b53/b53_common.c
|
||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||
@@ -2616,6 +2616,20 @@ static const struct b53_chip_data b53_sw
|
||||
@@ -2625,6 +2625,20 @@ static const struct b53_chip_data b53_sw
|
||||
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
|
||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
|
||||
},
|
||||
@ -121,7 +121,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
};
|
||||
|
||||
static int b53_switch_init(struct b53_device *dev)
|
||||
@@ -2793,6 +2807,7 @@ int b53_switch_detect(struct b53_device
|
||||
@@ -2802,6 +2816,7 @@ int b53_switch_detect(struct b53_device
|
||||
case BCM53012_DEVICE_ID:
|
||||
case BCM53018_DEVICE_ID:
|
||||
case BCM53019_DEVICE_ID:
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/drivers/char/hw_random/bcm2835-rng.c
|
||||
+++ b/drivers/char/hw_random/bcm2835-rng.c
|
||||
@@ -170,6 +170,7 @@ static int bcm2835_rng_probe(struct plat
|
||||
@@ -172,6 +172,7 @@ static int bcm2835_rng_probe(struct plat
|
||||
priv->rng.init = bcm2835_rng_init;
|
||||
priv->rng.read = bcm2835_rng_read;
|
||||
priv->rng.cleanup = bcm2835_rng_cleanup;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/usb/qmi_wwan.c
|
||||
+++ b/drivers/net/usb/qmi_wwan.c
|
||||
@@ -1437,6 +1437,9 @@ static const struct usb_device_id produc
|
||||
@@ -1438,6 +1438,9 @@ static const struct usb_device_id produc
|
||||
{QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */
|
||||
{QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */
|
||||
{QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */
|
||||
@ -12,7 +12,7 @@
|
||||
{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -2324,9 +2324,13 @@ static const struct usb_device_id option
|
||||
@@ -2338,9 +2338,13 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a06, 0xff) }, /* Fibocom FM650-CN (RNDIS mode) */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a07, 0xff) }, /* Fibocom FM650-CN (MBIM mode) */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */
|
||||
|
@ -57,7 +57,7 @@ Link: https://lore.kernel.org/r/20230307062232.4889-2-quic_kathirav@quicinc.com
|
||||
#define PLL_HUAYRA_M_WIDTH 8
|
||||
#define PLL_HUAYRA_M_SHIFT 8
|
||||
#define PLL_HUAYRA_M_MASK 0xff
|
||||
@@ -2308,3 +2322,115 @@ const struct clk_ops clk_alpha_pll_rivia
|
||||
@@ -2360,3 +2374,115 @@ const struct clk_ops clk_alpha_pll_rivia
|
||||
.round_rate = clk_rivian_evo_pll_round_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_alpha_pll_rivian_evo_ops);
|
||||
@ -212,7 +212,7 @@ Link: https://lore.kernel.org/r/20230307062232.4889-2-quic_kathirav@quicinc.com
|
||||
|
||||
extern const struct clk_ops clk_alpha_pll_fabia_ops;
|
||||
extern const struct clk_ops clk_alpha_pll_fixed_fabia_ops;
|
||||
@@ -182,5 +191,7 @@ void clk_lucid_evo_pll_configure(struct
|
||||
@@ -184,5 +193,7 @@ void clk_lucid_evo_pll_configure(struct
|
||||
const struct alpha_pll_config *config);
|
||||
void clk_rivian_evo_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
|
||||
const struct alpha_pll_config *config);
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
|
||||
--- a/drivers/clk/qcom/clk-alpha-pll.c
|
||||
+++ b/drivers/clk/qcom/clk-alpha-pll.c
|
||||
@@ -2434,3 +2434,66 @@ const struct clk_ops clk_alpha_pll_strom
|
||||
@@ -2486,3 +2486,66 @@ const struct clk_ops clk_alpha_pll_strom
|
||||
.set_rate = clk_alpha_pll_stromer_set_rate,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(clk_alpha_pll_stromer_ops);
|
||||
|
@ -19,7 +19,7 @@ Subject: [PATCH] kernel: add block fit partition parser
|
||||
|
||||
--- a/block/blk.h
|
||||
+++ b/block/blk.h
|
||||
@@ -415,6 +415,8 @@ void blk_free_ext_minor(unsigned int min
|
||||
@@ -407,6 +407,8 @@ void blk_free_ext_minor(unsigned int min
|
||||
#define ADDPART_FLAG_NONE 0
|
||||
#define ADDPART_FLAG_RAID 1
|
||||
#define ADDPART_FLAG_WHOLEDISK 2
|
||||
@ -104,7 +104,7 @@ Subject: [PATCH] kernel: add block fit partition parser
|
||||
/* everything is up and running, commence */
|
||||
err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL);
|
||||
if (err)
|
||||
@@ -631,6 +642,11 @@ static bool blk_add_partition(struct gen
|
||||
@@ -633,6 +644,11 @@ static bool blk_add_partition(struct gen
|
||||
(state->parts[p].flags & ADDPART_FLAG_RAID))
|
||||
md_autodetect_dev(part->bd_dev);
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -2277,6 +2277,14 @@ config CMDLINE_FORCE
|
||||
@@ -2280,6 +2280,14 @@ config CMDLINE_FORCE
|
||||
|
||||
endchoice
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
static struct flow_dissector flow_keys_bonding __read_mostly;
|
||||
|
||||
/*-------------------------- Forward declarations ---------------------------*/
|
||||
@@ -4411,6 +4413,24 @@ static int bond_get_lowest_level_rcu(str
|
||||
@@ -4425,6 +4427,24 @@ static int bond_get_lowest_level_rcu(str
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
static void bond_get_stats(struct net_device *bond_dev,
|
||||
struct rtnl_link_stats64 *stats)
|
||||
{
|
||||
@@ -5823,6 +5843,11 @@ static void bond_destructor(struct net_d
|
||||
@@ -5837,6 +5857,11 @@ static void bond_destructor(struct net_d
|
||||
|
||||
if (bond->rr_tx_counter)
|
||||
free_percpu(bond->rr_tx_counter);
|
||||
@ -46,7 +46,7 @@
|
||||
}
|
||||
|
||||
void bond_setup(struct net_device *bond_dev)
|
||||
@@ -6386,6 +6411,14 @@ int bond_create(struct net *net, const c
|
||||
@@ -6400,6 +6425,14 @@ int bond_create(struct net *net, const c
|
||||
|
||||
bond_work_init_all(bond);
|
||||
|
||||
|
@ -213,7 +213,7 @@
|
||||
{
|
||||
--- a/drivers/net/bonding/bond_main.c
|
||||
+++ b/drivers/net/bonding/bond_main.c
|
||||
@@ -1214,6 +1214,23 @@ void bond_change_active_slave(struct bon
|
||||
@@ -1218,6 +1218,23 @@ void bond_change_active_slave(struct bon
|
||||
if (BOND_MODE(bond) == BOND_MODE_8023AD)
|
||||
bond_3ad_handle_link_change(new_active, BOND_LINK_UP);
|
||||
|
||||
@ -237,7 +237,7 @@
|
||||
if (bond_is_lb(bond))
|
||||
bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
|
||||
} else {
|
||||
@@ -1837,6 +1854,7 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -1841,6 +1858,7 @@ int bond_enslave(struct net_device *bond
|
||||
const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
|
||||
struct slave *new_slave = NULL, *prev_slave;
|
||||
struct sockaddr_storage ss;
|
||||
@ -245,7 +245,7 @@
|
||||
int link_reporting;
|
||||
int res = 0, i;
|
||||
|
||||
@@ -2280,6 +2298,15 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -2288,6 +2306,15 @@ int bond_enslave(struct net_device *bond
|
||||
bond_is_active_slave(new_slave) ? "an active" : "a backup",
|
||||
new_slave->link != BOND_LINK_DOWN ? "an up" : "a down");
|
||||
|
||||
@ -261,7 +261,7 @@
|
||||
/* enslave is successful */
|
||||
bond_queue_slave_event(new_slave);
|
||||
return 0;
|
||||
@@ -2345,6 +2372,15 @@ err_undo_flags:
|
||||
@@ -2353,6 +2380,15 @@ err_undo_flags:
|
||||
}
|
||||
}
|
||||
|
||||
@ -277,7 +277,7 @@
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -2367,6 +2403,7 @@ static int __bond_release_one(struct net
|
||||
@@ -2375,6 +2411,7 @@ static int __bond_release_one(struct net
|
||||
struct slave *slave, *oldcurrent;
|
||||
struct sockaddr_storage ss;
|
||||
int old_flags = bond_dev->flags;
|
||||
@ -285,7 +285,7 @@
|
||||
netdev_features_t old_features = bond_dev->features;
|
||||
|
||||
/* slave is not a slave or master is not master of this slave */
|
||||
@@ -2388,6 +2425,15 @@ static int __bond_release_one(struct net
|
||||
@@ -2396,6 +2433,15 @@ static int __bond_release_one(struct net
|
||||
|
||||
bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);
|
||||
|
||||
@ -301,7 +301,7 @@
|
||||
bond_sysfs_slave_del(slave);
|
||||
|
||||
/* recompute stats just before removing the slave */
|
||||
@@ -2707,6 +2753,8 @@ static void bond_miimon_commit(struct bo
|
||||
@@ -2721,6 +2767,8 @@ static void bond_miimon_commit(struct bo
|
||||
struct slave *slave, *primary, *active;
|
||||
bool do_failover = false;
|
||||
struct list_head *iter;
|
||||
@ -310,7 +310,7 @@
|
||||
|
||||
ASSERT_RTNL();
|
||||
|
||||
@@ -2746,6 +2794,12 @@ static void bond_miimon_commit(struct bo
|
||||
@@ -2760,6 +2808,12 @@ static void bond_miimon_commit(struct bo
|
||||
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->speed == SPEED_UNKNOWN ? 0 : slave->speed,
|
||||
slave->duplex ? "full" : "half");
|
||||
@@ -2794,6 +2848,16 @@ static void bond_miimon_commit(struct bo
|
||||
@@ -2808,6 +2862,16 @@ static void bond_miimon_commit(struct bo
|
||||
unblock_netpoll_tx();
|
||||
}
|
||||
|
||||
@ -340,7 +340,7 @@
|
||||
bond_set_carrier(bond);
|
||||
}
|
||||
|
||||
@@ -4041,9 +4105,220 @@ static inline u32 bond_eth_hash(struct s
|
||||
@@ -4055,9 +4119,220 @@ static inline u32 bond_eth_hash(struct s
|
||||
return 0;
|
||||
|
||||
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,
|
||||
int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34)
|
||||
{
|
||||
@@ -5239,15 +5514,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str
|
||||
@@ -5253,15 +5528,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str
|
||||
struct net_device *dev)
|
||||
{
|
||||
struct bonding *bond = netdev_priv(dev);
|
||||
@ -593,7 +593,7 @@
|
||||
}
|
||||
|
||||
/* in broadcast mode, we send everything to all usable interfaces. */
|
||||
@@ -5497,8 +5780,9 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
@@ -5511,8 +5794,9 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
return bond_xmit_roundrobin(skb, dev);
|
||||
case BOND_MODE_ACTIVEBACKUP:
|
||||
return bond_xmit_activebackup(skb, dev);
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
|
||||
--- a/drivers/net/bonding/bond_main.c
|
||||
+++ b/drivers/net/bonding/bond_main.c
|
||||
@@ -1467,6 +1467,10 @@ static netdev_features_t bond_fix_featur
|
||||
@@ -1471,6 +1471,10 @@ static netdev_features_t bond_fix_featur
|
||||
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 | \
|
||||
NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \
|
||||
NETIF_F_HIGHDMA | NETIF_F_LRO)
|
||||
@@ -1497,13 +1501,25 @@ static void bond_compute_features(struct
|
||||
@@ -1501,13 +1505,25 @@ static void bond_compute_features(struct
|
||||
|
||||
if (!bond_has_slaves(bond))
|
||||
goto done;
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
enc_features = netdev_increment_features(enc_features,
|
||||
slave->dev->hw_enc_features,
|
||||
BOND_ENC_FEATURES);
|
||||
@@ -1648,6 +1664,16 @@ static rx_handler_result_t bond_handle_f
|
||||
@@ -1652,6 +1668,16 @@ static rx_handler_result_t bond_handle_f
|
||||
bond->dev->addr_len);
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1865,6 +1891,8 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -1869,6 +1895,8 @@ int bond_enslave(struct net_device *bond
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
if (!bond->params.use_carrier &&
|
||||
slave_dev->ethtool_ops->get_link == NULL &&
|
||||
slave_ops->ndo_eth_ioctl == NULL) {
|
||||
@@ -1978,13 +2006,17 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -1982,13 +2010,17 @@ int bond_enslave(struct net_device *bond
|
||||
call_netdevice_notifiers(NETDEV_JOIN, slave_dev);
|
||||
|
||||
/* 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);
|
||||
@@ -2013,18 +2045,21 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -2017,18 +2049,21 @@ int bond_enslave(struct net_device *bond
|
||||
bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr,
|
||||
slave_dev->addr_len);
|
||||
|
||||
@ -141,7 +141,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2383,6 +2418,7 @@ err_undo_flags:
|
||||
@@ -2391,6 +2426,7 @@ err_undo_flags:
|
||||
|
||||
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>
|
||||
* It is legal to access curr_active_slave without a lock because all the function
|
||||
@@ -2504,13 +2540,23 @@ static int __bond_release_one(struct net
|
||||
@@ -2518,13 +2554,23 @@ static int __bond_release_one(struct net
|
||||
}
|
||||
|
||||
bond_set_carrier(bond);
|
||||
@ -175,7 +175,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
if (!bond_has_slaves(bond)) {
|
||||
call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
|
||||
call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
|
||||
@@ -2577,6 +2623,7 @@ int bond_release(struct net_device *bond
|
||||
@@ -2591,6 +2637,7 @@ int bond_release(struct net_device *bond
|
||||
{
|
||||
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.
|
||||
* Must be under rtnl_lock when this function is called.
|
||||
@@ -2598,6 +2645,29 @@ static int bond_release_and_destroy(stru
|
||||
@@ -2612,6 +2659,29 @@ static int bond_release_and_destroy(stru
|
||||
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)
|
||||
{
|
||||
struct bonding *bond = netdev_priv(bond_dev);
|
||||
@@ -4249,6 +4319,24 @@ static struct net_device *bond_xor_get_t
|
||||
@@ -4263,6 +4333,24 @@ static struct net_device *bond_xor_get_t
|
||||
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.
|
||||
*
|
||||
* Supports 802.3AD and balance-xor modes
|
||||
@@ -4289,6 +4377,9 @@ struct net_device *bond_get_tx_dev(struc
|
||||
@@ -4303,6 +4391,9 @@ struct net_device *bond_get_tx_dev(struc
|
||||
return bond_3ad_get_tx_dev(skb, src_mac, dst_mac,
|
||||
src, dst, protocol,
|
||||
bond_dev, layer4hdr);
|
||||
@ -248,7 +248,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@@ -5085,20 +5176,26 @@ static int bond_set_mac_address(struct n
|
||||
@@ -5099,20 +5190,26 @@ static int bond_set_mac_address(struct n
|
||||
if (!is_valid_ether_addr(ss->__data))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
@ -289,7 +289,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5762,6 +5859,27 @@ static netdev_tx_t bond_tls_device_xmit(
|
||||
@@ -5776,6 +5873,27 @@ static netdev_tx_t bond_tls_device_xmit(
|
||||
}
|
||||
#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)
|
||||
{
|
||||
struct bonding *bond = netdev_priv(dev);
|
||||
@@ -5790,6 +5908,8 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
@@ -5804,6 +5922,8 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
return bond_alb_xmit(skb, dev);
|
||||
case BOND_MODE_TLB:
|
||||
return bond_tlb_xmit(skb, dev);
|
||||
@ -326,7 +326,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
default:
|
||||
/* Should never happen, mode already checked */
|
||||
netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond));
|
||||
@@ -6132,6 +6252,15 @@ static void bond_destructor(struct net_d
|
||||
@@ -6146,6 +6266,15 @@ static void bond_destructor(struct net_d
|
||||
if (bond->id != (~0U))
|
||||
clear_bit(bond->id, &bond_id_mask);
|
||||
/* 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)
|
||||
@@ -6708,6 +6837,76 @@ out:
|
||||
@@ -6722,6 +6851,76 @@ out:
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -421,7 +421,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
struct bond_net *bn = net_generic(net, bond_net_id);
|
||||
--- a/drivers/net/bonding/bond_options.c
|
||||
+++ b/drivers/net/bonding/bond_options.c
|
||||
@@ -94,6 +94,7 @@ static const struct bond_opt_value bond_
|
||||
@@ -95,6 +95,7 @@ static const struct bond_opt_value bond_
|
||||
{ "802.3ad", BOND_MODE_8023AD, 0},
|
||||
{ "balance-tlb", BOND_MODE_TLB, 0},
|
||||
{ "balance-alb", BOND_MODE_ALB, 0},
|
||||
|
@ -55,7 +55,7 @@
|
||||
dev->needs_free_netdev = true;
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -4612,6 +4612,15 @@ void dev_uc_flush(struct net_device *dev
|
||||
@@ -4625,6 +4625,15 @@ void dev_uc_flush(struct net_device *dev
|
||||
void dev_uc_init(struct net_device *dev);
|
||||
|
||||
/**
|
||||
@ -71,7 +71,7 @@
|
||||
* __dev_uc_sync - Synchonize device's unicast list
|
||||
* @dev: device to sync
|
||||
* @sync: function to call if address should be added
|
||||
@@ -5157,6 +5166,11 @@ static inline bool netif_is_failover_sla
|
||||
@@ -5170,6 +5179,11 @@ static inline bool netif_is_failover_sla
|
||||
return dev->priv_flags & IFF_FAILOVER_SLAVE;
|
||||
}
|
||||
|
||||
@ -344,7 +344,7 @@
|
||||
|
||||
struct Qdisc *qdisc_lookup_rcu(struct net_device *dev, u32 handle)
|
||||
{
|
||||
@@ -2387,4 +2388,26 @@ static int __init pktsched_init(void)
|
||||
@@ -2392,4 +2393,26 @@ static int __init pktsched_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -373,7 +373,7 @@
|
||||
subsys_initcall(pktsched_init);
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -1074,6 +1074,7 @@ static void __qdisc_destroy(struct Qdisc
|
||||
@@ -1083,6 +1083,7 @@ static void __qdisc_destroy(struct Qdisc
|
||||
|
||||
call_rcu(&qdisc->rcu, qdisc_free_cb);
|
||||
}
|
||||
@ -432,7 +432,7 @@
|
||||
/* Reset all TX qdiscs greater than index of a device. */
|
||||
static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i)
|
||||
{
|
||||
@@ -1306,4 +1341,9 @@ static inline void qdisc_synchronize(con
|
||||
@@ -1305,4 +1340,9 @@ static inline void qdisc_synchronize(con
|
||||
msleep(1);
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
|
||||
TxDescStartAddrLow = 0x20,
|
||||
TxDescStartAddrHigh = 0x24,
|
||||
TxHDescStartAddrLow = 0x28,
|
||||
@@ -5260,6 +5262,22 @@ static bool rtl_aspm_is_safe(struct rtl8
|
||||
@@ -5289,6 +5291,22 @@ static bool rtl_aspm_is_safe(struct rtl8
|
||||
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)
|
||||
{
|
||||
struct rtl8169_private *tp;
|
||||
@@ -5431,6 +5449,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
@@ -5460,6 +5478,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
if (!tp->counters)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -18,7 +18,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
|
||||
#define RTL8211F_PHYCR1 0x18
|
||||
#define RTL8211F_PHYCR2 0x19
|
||||
#define RTL8211F_INSR 0x1d
|
||||
@@ -354,6 +356,7 @@ static int rtl8211f_config_init(struct p
|
||||
@@ -356,6 +358,7 @@ static int rtl8211f_config_init(struct p
|
||||
struct rtl821x_priv *priv = phydev->priv;
|
||||
struct device *dev = &phydev->mdio.dev;
|
||||
u16 val_txdly, val_rxdly;
|
||||
@ -26,7 +26,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
|
||||
int ret;
|
||||
|
||||
ret = phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1,
|
||||
@@ -420,6 +423,15 @@ static int rtl8211f_config_init(struct p
|
||||
@@ -422,6 +425,15 @@ static int rtl8211f_config_init(struct p
|
||||
val_rxdly ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -1207,6 +1207,14 @@ config SOCIONEXT_SYNQUACER_PREITS
|
||||
@@ -1209,6 +1209,14 @@ config SOCIONEXT_SYNQUACER_PREITS
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
|
@ -17,7 +17,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
|
||||
#define RD_LOCAL_LPI_ENABLED BIT(0)
|
||||
#define RD_LOCAL_PENDTABLE_PREALLOCATED BIT(1)
|
||||
@@ -2183,6 +2184,11 @@ static struct page *its_allocate_prop_ta
|
||||
@@ -2189,6 +2190,11 @@ static struct page *its_allocate_prop_ta
|
||||
{
|
||||
struct page *prop_page;
|
||||
|
||||
@ -29,7 +29,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ));
|
||||
if (!prop_page)
|
||||
return NULL;
|
||||
@@ -2306,6 +2312,7 @@ static int its_setup_baser(struct its_no
|
||||
@@ -2312,6 +2318,7 @@ static int its_setup_baser(struct its_no
|
||||
u32 alloc_pages, psz;
|
||||
struct page *page;
|
||||
void *base;
|
||||
@ -37,7 +37,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
|
||||
psz = baser->psz;
|
||||
alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz);
|
||||
@@ -2317,7 +2324,10 @@ static int its_setup_baser(struct its_no
|
||||
@@ -2323,7 +2330,10 @@ static int its_setup_baser(struct its_no
|
||||
order = get_order(GITS_BASER_PAGES_MAX * psz);
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
if (!page)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -2364,6 +2374,13 @@ retry_baser:
|
||||
@@ -2370,6 +2380,13 @@ retry_baser:
|
||||
its_write_baser(its, baser, val);
|
||||
tmp = baser->val;
|
||||
|
||||
@ -63,7 +63,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) {
|
||||
/*
|
||||
* Shareability didn't stick. Just use
|
||||
@@ -2946,6 +2963,10 @@ static struct page *its_allocate_pending
|
||||
@@ -2952,6 +2969,10 @@ static struct page *its_allocate_pending
|
||||
{
|
||||
struct page *pend_page;
|
||||
|
||||
@ -74,7 +74,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
pend_page = alloc_pages(gfp_flags | __GFP_ZERO,
|
||||
get_order(LPI_PENDBASE_SZ));
|
||||
if (!pend_page)
|
||||
@@ -3101,6 +3122,9 @@ static void its_cpu_init_lpis(void)
|
||||
@@ -3107,6 +3128,9 @@ static void its_cpu_init_lpis(void)
|
||||
gicr_write_propbaser(val, rbase + GICR_PROPBASER);
|
||||
tmp = gicr_read_propbaser(rbase + GICR_PROPBASER);
|
||||
|
||||
@ -84,7 +84,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
if ((tmp ^ val) & GICR_PROPBASER_SHAREABILITY_MASK) {
|
||||
if (!(tmp & GICR_PROPBASER_SHAREABILITY_MASK)) {
|
||||
/*
|
||||
@@ -3125,6 +3149,9 @@ static void its_cpu_init_lpis(void)
|
||||
@@ -3131,6 +3155,9 @@ static void its_cpu_init_lpis(void)
|
||||
gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
|
||||
tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER);
|
||||
|
||||
@ -94,7 +94,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
if (!(tmp & GICR_PENDBASER_SHAREABILITY_MASK)) {
|
||||
/*
|
||||
* The HW reports non-shareable, we must remove the
|
||||
@@ -3288,7 +3315,12 @@ static bool its_alloc_table_entry(struct
|
||||
@@ -3294,7 +3321,12 @@ static bool its_alloc_table_entry(struct
|
||||
|
||||
/* Allocate memory for 2nd level table */
|
||||
if (!table[idx]) {
|
||||
@ -108,7 +108,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
get_order(baser->psz));
|
||||
if (!page)
|
||||
return false;
|
||||
@@ -3377,6 +3409,7 @@ static struct its_device *its_create_dev
|
||||
@@ -3383,6 +3415,7 @@ static struct its_device *its_create_dev
|
||||
int nr_lpis;
|
||||
int nr_ites;
|
||||
int sz;
|
||||
@ -116,7 +116,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
|
||||
if (!its_alloc_device_table(its, dev_id))
|
||||
return NULL;
|
||||
@@ -3384,7 +3417,11 @@ static struct its_device *its_create_dev
|
||||
@@ -3390,7 +3423,11 @@ static struct its_device *its_create_dev
|
||||
if (WARN_ON(!is_power_of_2(nvecs)))
|
||||
nvecs = roundup_pow_of_two(nvecs);
|
||||
|
||||
@ -129,7 +129,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
/*
|
||||
* Even if the device wants a single LPI, the ITT must be
|
||||
* sized as a power of two (and you need at least one bit...).
|
||||
@@ -3392,7 +3429,7 @@ static struct its_device *its_create_dev
|
||||
@@ -3398,7 +3435,7 @@ static struct its_device *its_create_dev
|
||||
nr_ites = max(2, nvecs);
|
||||
sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1);
|
||||
sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1;
|
||||
@ -138,7 +138,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
if (alloc_lpis) {
|
||||
lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis);
|
||||
if (lpi_map)
|
||||
@@ -4704,6 +4741,13 @@ static bool __maybe_unused its_enable_qu
|
||||
@@ -4716,6 +4753,13 @@ static bool __maybe_unused its_enable_qu
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -152,7 +152,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
static const struct gic_quirk its_quirks[] = {
|
||||
#ifdef CONFIG_CAVIUM_ERRATUM_22375
|
||||
{
|
||||
@@ -4750,6 +4794,14 @@ static const struct gic_quirk its_quirks
|
||||
@@ -4762,6 +4806,14 @@ static const struct gic_quirk its_quirks
|
||||
.init = its_enable_quirk_hip07_161600802,
|
||||
},
|
||||
#endif
|
||||
@ -167,7 +167,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
{
|
||||
}
|
||||
};
|
||||
@@ -5005,6 +5057,7 @@ static int __init its_probe_one(struct r
|
||||
@@ -5017,6 +5069,7 @@ static int __init its_probe_one(struct r
|
||||
struct page *page;
|
||||
u32 ctlr;
|
||||
int err;
|
||||
@ -175,7 +175,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
|
||||
its_base = its_map_one(res, &err);
|
||||
if (!its_base)
|
||||
@@ -5058,7 +5111,9 @@ static int __init its_probe_one(struct r
|
||||
@@ -5070,7 +5123,9 @@ static int __init its_probe_one(struct r
|
||||
|
||||
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));
|
||||
if (!page) {
|
||||
err = -ENOMEM;
|
||||
@@ -5089,6 +5144,9 @@ static int __init its_probe_one(struct r
|
||||
@@ -5101,6 +5156,9 @@ static int __init its_probe_one(struct r
|
||||
gits_write_cbaser(baser, its->base + GITS_CBASER);
|
||||
tmp = gits_read_cbaser(its->base + GITS_CBASER);
|
||||
|
||||
|
@ -87,7 +87,7 @@ Change-Id: I09745b6a31484d6a27f04e608268d9738c1fe224
|
||||
obj-$(CONFIG_CLK_RK3568) += clk-rk3568.o
|
||||
--- a/drivers/clk/rockchip/clk.c
|
||||
+++ b/drivers/clk/rockchip/clk.c
|
||||
@@ -514,6 +514,14 @@ void rockchip_clk_register_branches(stru
|
||||
@@ -515,6 +515,14 @@ void rockchip_clk_register_branches(stru
|
||||
ctx->reg_base + list->gate_offset,
|
||||
list->gate_shift, list->gate_flags, &ctx->lock);
|
||||
break;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
@@ -7099,6 +7099,7 @@ int stmmac_dvr_probe(struct device *devi
|
||||
@@ -7112,6 +7112,7 @@ int stmmac_dvr_probe(struct device *devi
|
||||
{
|
||||
struct net_device *ndev = NULL;
|
||||
struct stmmac_priv *priv;
|
||||
@ -8,7 +8,7 @@
|
||||
u32 rxq;
|
||||
int i, ret = 0;
|
||||
|
||||
@@ -7107,6 +7108,9 @@ int stmmac_dvr_probe(struct device *devi
|
||||
@@ -7120,6 +7121,9 @@ int stmmac_dvr_probe(struct device *devi
|
||||
if (!ndev)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
@@ -1032,6 +1032,13 @@
|
||||
@@ -1031,6 +1031,13 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -81,7 +81,7 @@ and performance for all other cases.
|
||||
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -5443,6 +5443,7 @@ static bool tcp_prune_ofo_queue(struct s
|
||||
@@ -5470,6 +5470,7 @@ static bool tcp_prune_ofo_queue(struct s
|
||||
static int tcp_prune_queue(struct sock *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);
|
||||
|
||||
@@ -5454,6 +5455,39 @@ static int tcp_prune_queue(struct sock *
|
||||
@@ -5481,6 +5482,39 @@ static int tcp_prune_queue(struct sock *
|
||||
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
|
||||
return 0;
|
||||
|
||||
@ -129,7 +129,7 @@ and performance for all other cases.
|
||||
tcp_collapse_ofo_queue(sk);
|
||||
if (!skb_queue_empty(&sk->sk_receive_queue))
|
||||
tcp_collapse(sk, &sk->sk_receive_queue, NULL,
|
||||
@@ -5472,6 +5506,8 @@ static int tcp_prune_queue(struct sock *
|
||||
@@ -5499,6 +5533,8 @@ static int tcp_prune_queue(struct sock *
|
||||
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
|
||||
return 0;
|
||||
|
||||
@ -140,7 +140,7 @@ and performance for all other cases.
|
||||
* and hopefully then we'll have sufficient space.
|
||||
--- a/net/ipv4/tcp_ipv4.c
|
||||
+++ b/net/ipv4/tcp_ipv4.c
|
||||
@@ -3237,6 +3237,8 @@ static int __net_init tcp_sk_init(struct
|
||||
@@ -3240,6 +3240,8 @@ static int __net_init tcp_sk_init(struct
|
||||
|
||||
net->ipv4.sysctl_tcp_shrink_window = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user