From ad34521be6657587456c09de58647fb3abf2d6d5 Mon Sep 17 00:00:00 2001 From: aakkll <94471752+aakkll@users.noreply.github.com> Date: Thu, 14 Apr 2022 20:38:40 +0800 Subject: [PATCH] kernel: bump 5.15 to 5.15.34 (#9252) Signed-off-by: aakkll <94471752+aakkll@users.noreply.github.com> --- include/kernel-5.15 | 4 +- .../910-unaligned_access_hacks.patch | 2 +- ...PCI-aardvark-Clear-all-MSIs-at-setup.patch | 2 +- ...ment-actions-in-driver-remove-method.patch | 2 +- ...able-bus-mastering-when-unbinding-dr.patch | 4 +- ...k-all-interrupts-when-unbinding-driv.patch | 2 +- ...ark-Fix-memory-leak-in-driver-unbind.patch | 2 +- ...k-Assert-PERST-when-unbinding-driver.patch | 2 +- ...able-link-training-when-unbinding-dr.patch | 2 +- ...able-common-PHY-when-unbinding-drive.patch | 2 +- ...-netfilter-add-xt_FLOWOFFLOAD-target.patch | 4 +- ...t-size-the-hashtable-more-adequately.patch | 2 +- ...k-events-support-multiple-registrant.patch | 2 +- ..._eth_soc-implement-flow-offloading-t.patch | 8 +-- ..._eth_soc-add-ipv6-flow-offload-suppo.patch | 4 +- ..._eth_soc-support-TC_SETUP_BLOCK-for-.patch | 2 +- ..._eth_soc-allocate-struct-mtk_ppe-sep.patch | 12 ++-- ..._eth_soc-rework-hardware-flow-table-.patch | 8 +-- ..._eth_soc-support-creating-mac-addres.patch | 10 +-- ...d-knob-for-filtering-rx-tx-BPDU-pack.patch | 2 +- ...dvark-Fix-support-for-MSI-interrupts.patch | 72 ------------------- .../pending-5.15/920-mangle_bootargs.patch | 4 +- ...or-Add-support-for-BoHong-bh25q128as.patch | 2 +- 23 files changed, 42 insertions(+), 114 deletions(-) delete mode 100644 target/linux/generic/pending-5.15/850-0003-PCI-aardvark-Fix-support-for-MSI-interrupts.patch diff --git a/include/kernel-5.15 b/include/kernel-5.15 index cb830e39d..31ee3119e 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .33 -LINUX_KERNEL_HASH-5.15.33 = c30a17e6090f9ebf2d8ff58cd6c92c7324b1f4a8b3aa6a7f68850310af05a9c4 +LINUX_VERSION-5.15 = .34 +LINUX_KERNEL_HASH-5.15.34 = a7514685392f0f89b337fa252a10a004c6a97d23e8d1126059c8e373398fdb69 diff --git a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch index 7196d28fb..46f5be3d4 100644 --- a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch @@ -171,7 +171,7 @@ #define UDP_CORK 1 /* Never send partially complete segments */ --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -292,8 +292,8 @@ nf_ct_get_tuple(const struct sk_buff *sk +@@ -305,8 +305,8 @@ nf_ct_get_tuple(const struct sk_buff *sk switch (l3num) { case NFPROTO_IPV4: diff --git a/target/linux/generic/backport-5.15/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch b/target/linux/generic/backport-5.15/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch index 9967f4663..61dd8b873 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch @@ -48,7 +48,7 @@ Signed-off-by: Lorenzo Pieralisi /* Enable summary interrupt for GIC SPI source */ reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK); -@@ -1393,7 +1395,7 @@ static void advk_pcie_handle_msi(struct +@@ -1389,7 +1391,7 @@ static void advk_pcie_handle_msi(struct msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG); msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG); diff --git a/target/linux/generic/backport-5.15/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch b/target/linux/generic/backport-5.15/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch index e60fbd0ce..a022f3ec6 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch @@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1685,11 +1685,13 @@ static int advk_pcie_remove(struct platf +@@ -1681,11 +1681,13 @@ static int advk_pcie_remove(struct platf struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); int i; diff --git a/target/linux/generic/backport-5.15/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch b/target/linux/generic/backport-5.15/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch index 7ac7db2ed..9b8ae26df 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch @@ -19,7 +19,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1683,6 +1683,7 @@ static int advk_pcie_remove(struct platf +@@ -1679,6 +1679,7 @@ static int advk_pcie_remove(struct platf { struct advk_pcie *pcie = platform_get_drvdata(pdev); struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); @@ -27,7 +27,7 @@ Signed-off-by: Lorenzo Pieralisi int i; /* Remove PCI bus with all devices */ -@@ -1691,6 +1692,11 @@ static int advk_pcie_remove(struct platf +@@ -1687,6 +1688,11 @@ static int advk_pcie_remove(struct platf pci_remove_root_bus(bridge->bus); pci_unlock_rescan_remove(); diff --git a/target/linux/generic/backport-5.15/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch b/target/linux/generic/backport-5.15/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch index 85c8b7059..97173ee28 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch @@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1697,6 +1697,27 @@ static int advk_pcie_remove(struct platf +@@ -1693,6 +1693,27 @@ static int advk_pcie_remove(struct platf val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG); diff --git a/target/linux/generic/backport-5.15/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch b/target/linux/generic/backport-5.15/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch index d24bd8227..e8611c82f 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch @@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1722,6 +1722,9 @@ static int advk_pcie_remove(struct platf +@@ -1718,6 +1718,9 @@ static int advk_pcie_remove(struct platf advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie); diff --git a/target/linux/generic/backport-5.15/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch b/target/linux/generic/backport-5.15/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch index 1928a3c6f..3e309159d 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch @@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1725,6 +1725,10 @@ static int advk_pcie_remove(struct platf +@@ -1721,6 +1721,10 @@ static int advk_pcie_remove(struct platf /* Free config space for emulated root bridge */ pci_bridge_emul_cleanup(&pcie->bridge); diff --git a/target/linux/generic/backport-5.15/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch b/target/linux/generic/backport-5.15/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch index f66635aae..1a5725121 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch @@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1729,6 +1729,11 @@ static int advk_pcie_remove(struct platf +@@ -1725,6 +1725,11 @@ static int advk_pcie_remove(struct platf if (pcie->reset_gpio) gpiod_set_value_cansleep(pcie->reset_gpio, 1); diff --git a/target/linux/generic/backport-5.15/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch b/target/linux/generic/backport-5.15/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch index 263e81f35..4a4af186f 100644 --- a/target/linux/generic/backport-5.15/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch +++ b/target/linux/generic/backport-5.15/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch @@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1738,6 +1738,9 @@ static int advk_pcie_remove(struct platf +@@ -1734,6 +1734,9 @@ static int advk_pcie_remove(struct platf for (i = 0; i < OB_WIN_COUNT; i++) advk_pcie_disable_ob_win(pcie, i); diff --git a/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch index c6d3987ed..a70d14b27 100644 --- a/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch +++ b/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch @@ -806,7 +806,7 @@ Signed-off-by: Felix Fietkau +#endif /* _XT_FLOWOFFLOAD_H */ --- a/include/net/netfilter/nf_flow_table.h +++ b/include/net/netfilter/nf_flow_table.h -@@ -273,6 +273,10 @@ void nf_flow_table_free(struct nf_flowta +@@ -275,6 +275,10 @@ void nf_flow_table_free(struct nf_flowta void flow_offload_teardown(struct flow_offload *flow); @@ -816,4 +816,4 @@ Signed-off-by: Felix Fietkau + void nf_flow_snat_port(const struct flow_offload *flow, struct sk_buff *skb, unsigned int thoff, - u8 protocol, enum flow_offload_tuple_dir dir); \ No newline at end of file + u8 protocol, enum flow_offload_tuple_dir dir); diff --git a/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch index a003fc294..134e2100c 100644 --- a/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2676,7 +2676,7 @@ int nf_conntrack_init_start(void) +@@ -2727,7 +2727,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch index f237b48ab..b7683f893 100644 --- a/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-5.15/952-add-net-conntrack-events-support-multiple-registrant.patch @@ -110,7 +110,7 @@ Signed-off-by: Zhi Chen depends on NETFILTER_ADVANCED --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2827,6 +2827,10 @@ int nf_conntrack_init_net(struct net *ne +@@ -2878,6 +2878,10 @@ int nf_conntrack_init_net(struct net *ne nf_conntrack_helper_pernet_init(net); nf_conntrack_proto_pernet_init(net); diff --git a/target/linux/generic/pending-5.15/701-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch b/target/linux/generic/pending-5.15/701-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch index 6ceca9306..9abb68c35 100644 --- a/target/linux/generic/pending-5.15/701-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch +++ b/target/linux/generic/pending-5.15/701-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch @@ -166,7 +166,7 @@ Signed-off-by: Felix Fietkau u16 addr_type = 0; u32 timestamp; u8 l4proto = 0; -@@ -326,10 +369,14 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -329,10 +372,14 @@ mtk_flow_offload_replace(struct mtk_eth if (data.pppoe.num == 1) mtk_foe_entry_set_pppoe(&foe, data.pppoe.sid); @@ -182,7 +182,7 @@ Signed-off-by: Felix Fietkau entry = kzalloc(sizeof(*entry), GFP_KERNEL); if (!entry) return -ENOMEM; -@@ -343,6 +390,7 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -346,6 +393,7 @@ mtk_flow_offload_replace(struct mtk_eth } entry->hash = hash; @@ -190,7 +190,7 @@ Signed-off-by: Felix Fietkau err = rhashtable_insert_fast(ð->flow_table, &entry->node, mtk_flow_ht_params); if (err < 0) -@@ -353,6 +401,8 @@ clear_flow: +@@ -356,6 +404,8 @@ clear_flow: mtk_foe_entry_clear(ð->ppe, hash); free: kfree(entry); @@ -199,7 +199,7 @@ Signed-off-by: Felix Fietkau return err; } -@@ -369,6 +419,8 @@ mtk_flow_offload_destroy(struct mtk_eth +@@ -372,6 +422,8 @@ mtk_flow_offload_destroy(struct mtk_eth mtk_foe_entry_clear(ð->ppe, entry->hash); rhashtable_remove_fast(ð->flow_table, &entry->node, mtk_flow_ht_params); diff --git a/target/linux/generic/pending-5.15/701-05-net-ethernet-mtk_eth_soc-add-ipv6-flow-offload-suppo.patch b/target/linux/generic/pending-5.15/701-05-net-ethernet-mtk_eth_soc-add-ipv6-flow-offload-suppo.patch index 9adb06701..b2114eb02 100644 --- a/target/linux/generic/pending-5.15/701-05-net-ethernet-mtk_eth_soc-add-ipv6-flow-offload-suppo.patch +++ b/target/linux/generic/pending-5.15/701-05-net-ethernet-mtk_eth_soc-add-ipv6-flow-offload-suppo.patch @@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau static void mtk_flow_offload_mangle_eth(const struct flow_action_entry *act, void *eth) { -@@ -296,6 +310,9 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -299,6 +313,9 @@ mtk_flow_offload_replace(struct mtk_eth case FLOW_DISSECTOR_KEY_IPV4_ADDRS: offload_type = MTK_PPE_PKT_TYPE_IPV4_HNAPT; break; @@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau default: return -EOPNOTSUPP; } -@@ -331,6 +348,17 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -334,6 +351,17 @@ mtk_flow_offload_replace(struct mtk_eth mtk_flow_set_ipv4_addr(&foe, &data, false); } diff --git a/target/linux/generic/pending-5.15/701-06-net-ethernet-mtk_eth_soc-support-TC_SETUP_BLOCK-for-.patch b/target/linux/generic/pending-5.15/701-06-net-ethernet-mtk_eth_soc-support-TC_SETUP_BLOCK-for-.patch index 72c6d2817..a9fc70533 100644 --- a/target/linux/generic/pending-5.15/701-06-net-ethernet-mtk_eth_soc-support-TC_SETUP_BLOCK-for-.patch +++ b/target/linux/generic/pending-5.15/701-06-net-ethernet-mtk_eth_soc-support-TC_SETUP_BLOCK-for-.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -563,10 +563,13 @@ mtk_eth_setup_tc_block(struct net_device +@@ -566,10 +566,13 @@ mtk_eth_setup_tc_block(struct net_device int mtk_eth_setup_tc(struct net_device *dev, enum tc_setup_type type, void *type_data) { diff --git a/target/linux/generic/pending-5.15/701-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch b/target/linux/generic/pending-5.15/701-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch index 7dbf7a2a2..7c6931d33 100644 --- a/target/linux/generic/pending-5.15/701-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch +++ b/target/linux/generic/pending-5.15/701-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch @@ -103,7 +103,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -411,7 +411,7 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -414,7 +414,7 @@ mtk_flow_offload_replace(struct mtk_eth entry->cookie = f->cookie; timestamp = mtk_eth_timestamp(eth); @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau if (hash < 0) { err = hash; goto free; -@@ -426,7 +426,7 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -429,7 +429,7 @@ mtk_flow_offload_replace(struct mtk_eth return 0; clear_flow: @@ -121,7 +121,7 @@ Signed-off-by: Felix Fietkau free: kfree(entry); if (wed_index >= 0) -@@ -444,7 +444,7 @@ mtk_flow_offload_destroy(struct mtk_eth +@@ -447,7 +447,7 @@ mtk_flow_offload_destroy(struct mtk_eth if (!entry) return -ENOENT; @@ -130,7 +130,7 @@ Signed-off-by: Felix Fietkau rhashtable_remove_fast(ð->flow_table, &entry->node, mtk_flow_ht_params); if (entry->wed_index >= 0) -@@ -466,7 +466,7 @@ mtk_flow_offload_stats(struct mtk_eth *e +@@ -469,7 +469,7 @@ mtk_flow_offload_stats(struct mtk_eth *e if (!entry) return -ENOENT; @@ -139,7 +139,7 @@ Signed-off-by: Felix Fietkau if (timestamp < 0) return -ETIMEDOUT; -@@ -522,7 +522,7 @@ mtk_eth_setup_tc_block(struct net_device +@@ -525,7 +525,7 @@ mtk_eth_setup_tc_block(struct net_device struct flow_block_cb *block_cb; flow_setup_cb_t *cb; @@ -148,7 +148,7 @@ Signed-off-by: Felix Fietkau return -EOPNOTSUPP; if (f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS) -@@ -574,7 +574,7 @@ int mtk_eth_setup_tc(struct net_device * +@@ -577,7 +577,7 @@ int mtk_eth_setup_tc(struct net_device * int mtk_eth_offload_init(struct mtk_eth *eth) { diff --git a/target/linux/generic/pending-5.15/701-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch b/target/linux/generic/pending-5.15/701-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch index 4e20525fc..5c726c60a 100644 --- a/target/linux/generic/pending-5.15/701-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch +++ b/target/linux/generic/pending-5.15/701-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch @@ -360,7 +360,7 @@ Signed-off-by: Felix Fietkau int i; if (rhashtable_lookup(ð->flow_table, &f->cookie, mtk_flow_ht_params)) -@@ -410,23 +395,21 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -413,23 +398,21 @@ mtk_flow_offload_replace(struct mtk_eth return -ENOMEM; entry->cookie = f->cookie; @@ -392,7 +392,7 @@ Signed-off-by: Felix Fietkau free: kfree(entry); if (wed_index >= 0) -@@ -444,7 +427,7 @@ mtk_flow_offload_destroy(struct mtk_eth +@@ -447,7 +430,7 @@ mtk_flow_offload_destroy(struct mtk_eth if (!entry) return -ENOENT; @@ -401,7 +401,7 @@ Signed-off-by: Felix Fietkau rhashtable_remove_fast(ð->flow_table, &entry->node, mtk_flow_ht_params); if (entry->wed_index >= 0) -@@ -458,7 +441,6 @@ static int +@@ -461,7 +444,6 @@ static int mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f) { struct mtk_flow_entry *entry; @@ -409,7 +409,7 @@ Signed-off-by: Felix Fietkau u32 idle; entry = rhashtable_lookup(ð->flow_table, &f->cookie, -@@ -466,11 +448,7 @@ mtk_flow_offload_stats(struct mtk_eth *e +@@ -469,11 +451,7 @@ mtk_flow_offload_stats(struct mtk_eth *e if (!entry) return -ENOENT; diff --git a/target/linux/generic/pending-5.15/701-10-net-ethernet-mtk_eth_soc-support-creating-mac-addres.patch b/target/linux/generic/pending-5.15/701-10-net-ethernet-mtk_eth_soc-support-creating-mac-addres.patch index 209c65e66..67c02d6db 100644 --- a/target/linux/generic/pending-5.15/701-10-net-ethernet-mtk_eth_soc-support-creating-mac-addres.patch +++ b/target/linux/generic/pending-5.15/701-10-net-ethernet-mtk_eth_soc-support-creating-mac-addres.patch @@ -452,7 +452,7 @@ Signed-off-by: Felix Fietkau struct { u16 id; __be16 proto; -@@ -257,9 +259,45 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -260,9 +262,45 @@ mtk_flow_offload_replace(struct mtk_eth return -EOPNOTSUPP; } @@ -498,7 +498,7 @@ Signed-off-by: Felix Fietkau if (act->mangle.htype == FLOW_ACT_MANGLE_HDR_TYPE_ETH) mtk_flow_offload_mangle_eth(act, &data.eth); break; -@@ -291,17 +329,6 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -294,17 +332,6 @@ mtk_flow_offload_replace(struct mtk_eth } } @@ -516,7 +516,7 @@ Signed-off-by: Felix Fietkau if (!is_valid_ether_addr(data.eth.h_source) || !is_valid_ether_addr(data.eth.h_dest)) return -EINVAL; -@@ -315,10 +342,13 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -318,10 +345,13 @@ mtk_flow_offload_replace(struct mtk_eth if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { struct flow_match_ports ports; @@ -531,7 +531,7 @@ Signed-off-by: Felix Fietkau return -EOPNOTSUPP; } -@@ -348,6 +378,9 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -351,6 +381,9 @@ mtk_flow_offload_replace(struct mtk_eth if (act->id != FLOW_ACTION_MANGLE) continue; @@ -541,7 +541,7 @@ Signed-off-by: Felix Fietkau switch (act->mangle.htype) { case FLOW_ACT_MANGLE_HDR_TYPE_TCP: case FLOW_ACT_MANGLE_HDR_TYPE_UDP: -@@ -373,6 +406,9 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -376,6 +409,9 @@ mtk_flow_offload_replace(struct mtk_eth return err; } diff --git a/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch index f30887fcc..84a3ee8e6 100644 --- a/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch +++ b/target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau struct rtnl_link { rtnl_doit_func doit; -@@ -4689,7 +4689,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu +@@ -4700,7 +4700,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, diff --git a/target/linux/generic/pending-5.15/850-0003-PCI-aardvark-Fix-support-for-MSI-interrupts.patch b/target/linux/generic/pending-5.15/850-0003-PCI-aardvark-Fix-support-for-MSI-interrupts.patch deleted file mode 100644 index 950f3a8ab..000000000 --- a/target/linux/generic/pending-5.15/850-0003-PCI-aardvark-Fix-support-for-MSI-interrupts.patch +++ /dev/null @@ -1,72 +0,0 @@ -From bb03b126ea6c9e57177b537dd022246fa5dbef16 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pali=20Roh=C3=A1r?= -Date: Fri, 12 Feb 2021 16:24:07 +0100 -Subject: [PATCH] PCI: aardvark: Fix support for MSI interrupts -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Aardvark hardware supports Multi-MSI and MSI_FLAG_MULTI_PCI_MSI is already -set for the MSI chip. But when allocating MSI interrupt numbers for -Multi-MSI, the numbers need to be properly aligned, otherwise endpoint -devices send MSI interrupt with incorrect numbers. - -Fix this issue by using function bitmap_find_free_region() instead of -bitmap_find_next_zero_area(). - -To ensure that aligned MSI interrupt numbers are used by endpoint devices, -we cannot use Linux virtual irq numbers (as they are random and not -properly aligned). Instead we need to use the aligned hwirq numbers. - -This change fixes receiving MSI interrupts on Armada 3720 boards and -allows using NVMe disks which use Multi-MSI feature with 3 interrupts. - -Without this NVMe disks freeze booting as linux nvme-core.c is waiting -60s for an interrupt. - -Signed-off-by: Pali Rohár -Signed-off-by: Marek Behún ---- - drivers/pci/controller/pci-aardvark.c | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - ---- a/drivers/pci/controller/pci-aardvark.c -+++ b/drivers/pci/controller/pci-aardvark.c -@@ -1184,7 +1184,7 @@ static void advk_msi_irq_compose_msi_msg - - msg->address_lo = lower_32_bits(msi_msg); - msg->address_hi = upper_32_bits(msi_msg); -- msg->data = data->irq; -+ msg->data = data->hwirq; - } - - static int advk_msi_set_affinity(struct irq_data *irq_data, -@@ -1201,15 +1201,11 @@ static int advk_msi_irq_domain_alloc(str - int hwirq, i; - - mutex_lock(&pcie->msi_used_lock); -- hwirq = bitmap_find_next_zero_area(pcie->msi_used, MSI_IRQ_NUM, -- 0, nr_irqs, 0); -- if (hwirq >= MSI_IRQ_NUM) { -- mutex_unlock(&pcie->msi_used_lock); -- return -ENOSPC; -- } -- -- bitmap_set(pcie->msi_used, hwirq, nr_irqs); -+ hwirq = bitmap_find_free_region(pcie->msi_used, MSI_IRQ_NUM, -+ order_base_2(nr_irqs)); - mutex_unlock(&pcie->msi_used_lock); -+ if (hwirq < 0) -+ return -ENOSPC; - - for (i = 0; i < nr_irqs; i++) - irq_domain_set_info(domain, virq + i, hwirq + i, -@@ -1227,7 +1223,7 @@ static void advk_msi_irq_domain_free(str - struct advk_pcie *pcie = domain->host_data; - - mutex_lock(&pcie->msi_used_lock); -- bitmap_clear(pcie->msi_used, d->hwirq, nr_irqs); -+ bitmap_release_region(pcie->msi_used, d->hwirq, order_base_2(nr_irqs)); - mutex_unlock(&pcie->msi_used_lock); - } - diff --git a/target/linux/generic/pending-5.15/920-mangle_bootargs.patch b/target/linux/generic/pending-5.15/920-mangle_bootargs.patch index d3f3a1c63..1fb0182f1 100644 --- a/target/linux/generic/pending-5.15/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-5.15/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -614,6 +614,29 @@ static inline void setup_nr_cpu_ids(void +@@ -615,6 +615,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -954,6 +977,7 @@ asmlinkage __visible void __init __no_sa +@@ -955,6 +978,7 @@ asmlinkage __visible void __init __no_sa pr_notice("%s", linux_banner); early_security_init(); setup_arch(&command_line); diff --git a/target/linux/ramips/patches-5.15/405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch b/target/linux/ramips/patches-5.15/405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch index 76b9b36b0..68b31037f 100644 --- a/target/linux/ramips/patches-5.15/405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch +++ b/target/linux/ramips/patches-5.15/405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch @@ -55,7 +55,7 @@ Signed-off-by: David Bauer +}; --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1832,6 +1832,7 @@ int spi_nor_sr2_bit7_quad_enable(struct +@@ -1854,6 +1854,7 @@ int spi_nor_sr2_bit7_quad_enable(struct static const struct spi_nor_manufacturer *manufacturers[] = { &spi_nor_atmel,