diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 2abff11cb..3a9dddbd2 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .45 -LINUX_KERNEL_HASH-5.15.45 = b2390d7d977c66036ef0ceb294e408f2bdaab6dfeeb8ff4f4e0a84b71f8d8754 +LINUX_VERSION-5.15 = .46 +LINUX_KERNEL_HASH-5.15.46 = eb455746779bb79533e6c1afcd0d5e8ad2295898b786f47d718f087a3d07376b diff --git a/target/linux/ath79/patches-5.15/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/ath79/patches-5.15/401-mtd-nor-support-mtd-name-from-device-tree.patch index 9708ec9e0..534b8027a 100644 --- a/target/linux/ath79/patches-5.15/401-mtd-nor-support-mtd-name-from-device-tree.patch +++ b/target/linux/ath79/patches-5.15/401-mtd-nor-support-mtd-name-from-device-tree.patch @@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -3137,6 +3137,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -3146,6 +3146,7 @@ int spi_nor_scan(struct spi_nor *nor, co struct device *dev = nor->dev; struct mtd_info *mtd = &nor->mtd; struct device_node *np = spi_nor_get_flash_node(nor); @@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma int ret; int i; -@@ -3191,7 +3192,12 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -3200,7 +3201,12 @@ int spi_nor_scan(struct spi_nor *nor, co if (ret) return ret; diff --git a/target/linux/generic/hack-5.15/204-module_strip.patch b/target/linux/generic/hack-5.15/204-module_strip.patch index 0968d6a13..063401369 100644 --- a/target/linux/generic/hack-5.15/204-module_strip.patch +++ b/target/linux/generic/hack-5.15/204-module_strip.patch @@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -2347,6 +2347,13 @@ config UNUSED_KSYMS_WHITELIST +@@ -2352,6 +2352,13 @@ config UNUSED_KSYMS_WHITELIST one per line. The path can be absolute, or relative to the kernel source tree. diff --git a/target/linux/generic/hack-5.15/253-ksmbd-config.patch b/target/linux/generic/hack-5.15/253-ksmbd-config.patch index 20a437f5c..dce87581d 100644 --- a/target/linux/generic/hack-5.15/253-ksmbd-config.patch +++ b/target/linux/generic/hack-5.15/253-ksmbd-config.patch @@ -1,6 +1,6 @@ --- a/init/Kconfig +++ b/init/Kconfig -@@ -2379,7 +2379,7 @@ config PADATA +@@ -2384,7 +2384,7 @@ config PADATA bool config ASN1 diff --git a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch index 57cc4c810..92b27e76d 100644 --- a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch @@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3582,6 +3582,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3586,6 +3586,11 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch b/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch index f24fe9d19..3d34231b8 100644 --- a/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch +++ b/target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch @@ -15,7 +15,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -1052,3 +1054,72 @@ void of_gpio_dev_init(struct gpio_chip * +@@ -1057,3 +1059,72 @@ void of_gpio_dev_init(struct gpio_chip * else gc->of_node = gdev->dev.of_node; } diff --git a/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index b5a2d761e..c32955a3e 100644 --- a/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-5.15/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -92,7 +92,7 @@ struct net_bridge_port *p; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3578,9 +3578,17 @@ static int xmit_one(struct sk_buff *skb, +@@ -3582,9 +3582,17 @@ static int xmit_one(struct sk_buff *skb, { unsigned int len; int rc; @@ -111,7 +111,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb))) -@@ -5207,6 +5215,11 @@ void netdev_rx_handler_unregister(struct +@@ -5211,6 +5219,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. -@@ -5255,6 +5268,10 @@ static int __netif_receive_skb_core(stru +@@ -5259,6 +5272,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -134,7 +134,7 @@ net_timestamp_check(!netdev_tstamp_prequeue, skb); trace_netif_receive_skb(skb); -@@ -5292,6 +5309,15 @@ another_round: +@@ -5296,6 +5313,15 @@ another_round: goto out; } diff --git a/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch index e05519d83..ea407d6db 100644 --- a/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -1438,6 +1438,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW +@@ -1443,6 +1443,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW the unaligned access emulation. see arch/parisc/kernel/unaligned.c for reference diff --git a/target/linux/generic/pending-5.15/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch b/target/linux/generic/pending-5.15/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch index 58c33bcd6..4ec33a0b1 100644 --- a/target/linux/generic/pending-5.15/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch +++ b/target/linux/generic/pending-5.15/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch @@ -338,7 +338,7 @@ Reported-by: Dan Carpenter default y --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1262,6 +1262,8 @@ static u8 spi_nor_convert_3to4_erase(u8 +@@ -1271,6 +1271,8 @@ static u8 spi_nor_convert_3to4_erase(u8 static bool spi_nor_has_uniform_erase(const struct spi_nor *nor) { @@ -347,7 +347,7 @@ Reported-by: Dan Carpenter return !!nor->params->erase_map.uniform_erase_type; } -@@ -2379,6 +2381,7 @@ static int spi_nor_select_erase(struct s +@@ -2388,6 +2390,7 @@ static int spi_nor_select_erase(struct s { struct spi_nor_erase_map *map = &nor->params->erase_map; const struct spi_nor_erase_type *erase = NULL; @@ -355,7 +355,7 @@ Reported-by: Dan Carpenter struct mtd_info *mtd = &nor->mtd; u32 wanted_size = nor->info->sector_size; int i; -@@ -2411,8 +2414,9 @@ static int spi_nor_select_erase(struct s +@@ -2420,8 +2423,9 @@ static int spi_nor_select_erase(struct s */ for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) { if (map->erase_type[i].size) { @@ -367,7 +367,7 @@ Reported-by: Dan Carpenter } } -@@ -2420,6 +2424,8 @@ static int spi_nor_select_erase(struct s +@@ -2429,6 +2433,8 @@ static int spi_nor_select_erase(struct s return -EINVAL; mtd->erasesize = erase->size; diff --git a/target/linux/generic/pending-5.15/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-5.15/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch index cb7768a5e..0be74a597 100644 --- a/target/linux/generic/pending-5.15/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch +++ b/target/linux/generic/pending-5.15/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -914,7 +914,7 @@ static int get_chip(struct map_info *map +@@ -907,7 +907,7 @@ static int get_chip(struct map_info *map return 0; case FL_ERASING: diff --git a/target/linux/generic/pending-5.15/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-5.15/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch index bedd53ccb..ca56de827 100644 --- a/target/linux/generic/pending-5.15/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch +++ b/target/linux/generic/pending-5.15/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch @@ -7,7 +7,7 @@ Signed-off-by: George Kashperko 1 file changed, 1 insertion(+) --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2058,6 +2058,7 @@ static int __xipram do_write_buffer(stru +@@ -2051,6 +2051,7 @@ static int __xipram do_write_buffer(stru /* Write Buffer Load */ map_write(map, CMD(0x25), cmd_adr); diff --git a/target/linux/generic/pending-5.15/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch b/target/linux/generic/pending-5.15/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch index 308eca72c..1649a55c4 100644 --- a/target/linux/generic/pending-5.15/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch +++ b/target/linux/generic/pending-5.15/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch @@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau endif # MTD_SPI_NOR --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -2631,6 +2631,21 @@ static void spi_nor_info_init_params(str +@@ -2640,6 +2640,21 @@ static void spi_nor_info_init_params(str */ erase_mask = 0; i = 0; @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau if (info->flags & SECT_4K_PMC) { erase_mask |= BIT(i); spi_nor_set_erase_type(&map->erase_type[i], 4096u, -@@ -2642,6 +2657,7 @@ static void spi_nor_info_init_params(str +@@ -2651,6 +2666,7 @@ static void spi_nor_info_init_params(str SPINOR_OP_BE_4K); i++; } diff --git a/target/linux/generic/pending-5.15/479-mtd-spi-nor-add-xtx-xt25f128b.patch b/target/linux/generic/pending-5.15/479-mtd-spi-nor-add-xtx-xt25f128b.patch index c3c59d43b..58a336a4b 100644 --- a/target/linux/generic/pending-5.15/479-mtd-spi-nor-add-xtx-xt25f128b.patch +++ b/target/linux/generic/pending-5.15/479-mtd-spi-nor-add-xtx-xt25f128b.patch @@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau +}; --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1848,6 +1848,7 @@ static const struct spi_nor_manufacturer +@@ -1857,6 +1857,7 @@ static const struct spi_nor_manufacturer &spi_nor_winbond, &spi_nor_xilinx, &spi_nor_xmc, diff --git a/target/linux/generic/pending-5.15/481-mtd-spi-nor-rework-broken-flash-reset-support.patch b/target/linux/generic/pending-5.15/481-mtd-spi-nor-rework-broken-flash-reset-support.patch index c1486ec5f..c07ea9b8a 100644 --- a/target/linux/generic/pending-5.15/481-mtd-spi-nor-rework-broken-flash-reset-support.patch +++ b/target/linux/generic/pending-5.15/481-mtd-spi-nor-rework-broken-flash-reset-support.patch @@ -19,7 +19,7 @@ Signed-off-by: Chuanhong Guo --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1639,6 +1639,23 @@ destroy_erase_cmd_list: +@@ -1648,6 +1648,23 @@ destroy_erase_cmd_list: return ret; } @@ -43,7 +43,7 @@ Signed-off-by: Chuanhong Guo /* * Erase an address range on the nor chip. The address range may extend * one or more erase sectors. Return an error if there is a problem erasing. -@@ -1666,6 +1683,10 @@ static int spi_nor_erase(struct mtd_info +@@ -1675,6 +1692,10 @@ static int spi_nor_erase(struct mtd_info if (ret) return ret; @@ -54,7 +54,7 @@ Signed-off-by: Chuanhong Guo /* whole-chip erase? */ if (len == mtd->size && !(nor->flags & SNOR_F_NO_OP_CHIP_ERASE)) { unsigned long timeout; -@@ -1725,6 +1746,7 @@ static int spi_nor_erase(struct mtd_info +@@ -1734,6 +1755,7 @@ static int spi_nor_erase(struct mtd_info ret = spi_nor_write_disable(nor); erase_err: @@ -62,7 +62,7 @@ Signed-off-by: Chuanhong Guo spi_nor_unlock_and_unprep(nor); return ret; -@@ -1917,6 +1939,10 @@ static int spi_nor_read(struct mtd_info +@@ -1926,6 +1948,10 @@ static int spi_nor_read(struct mtd_info if (ret) return ret; @@ -73,7 +73,7 @@ Signed-off-by: Chuanhong Guo while (len) { loff_t addr = from; -@@ -1940,6 +1966,7 @@ static int spi_nor_read(struct mtd_info +@@ -1949,6 +1975,7 @@ static int spi_nor_read(struct mtd_info ret = 0; read_err: @@ -81,7 +81,7 @@ Signed-off-by: Chuanhong Guo spi_nor_unlock_and_unprep(nor); return ret; } -@@ -1962,6 +1989,10 @@ static int spi_nor_write(struct mtd_info +@@ -1971,6 +1998,10 @@ static int spi_nor_write(struct mtd_info if (ret) return ret; @@ -92,7 +92,7 @@ Signed-off-by: Chuanhong Guo for (i = 0; i < len; ) { ssize_t written; loff_t addr = to + i; -@@ -2001,6 +2032,7 @@ static int spi_nor_write(struct mtd_info +@@ -2010,6 +2041,7 @@ static int spi_nor_write(struct mtd_info } write_err: @@ -100,7 +100,7 @@ Signed-off-by: Chuanhong Guo spi_nor_unlock_and_unprep(nor); return ret; } -@@ -2852,9 +2884,13 @@ static int spi_nor_init(struct spi_nor * +@@ -2861,9 +2893,13 @@ static int spi_nor_init(struct spi_nor * * reboots (e.g., crashes). Warn the user (or hopefully, system * designer) that this is bad. */ diff --git a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index af57b4c5b..5d88b994a 100644 --- a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u8 inner_protocol_type:1; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6051,6 +6051,9 @@ static enum gro_result dev_gro_receive(s +@@ -6055,6 +6055,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -8065,6 +8068,48 @@ static void __netdev_adjacent_dev_unlink +@@ -8069,6 +8072,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -8116,6 +8161,7 @@ static int __netdev_upper_dev_link(struc +@@ -8120,6 +8165,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -8212,6 +8258,7 @@ static void __netdev_upper_dev_unlink(st +@@ -8216,6 +8262,7 @@ static void __netdev_upper_dev_unlink(st __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -9031,6 +9078,7 @@ int dev_set_mac_address(struct net_devic +@@ -9035,6 +9082,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.15/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-5.15/811-pci_disable_usb_common_quirks.patch index 9b0ce7100..67406bac8 100644 --- a/target/linux/generic/pending-5.15/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-5.15/811-pci_disable_usb_common_quirks.patch @@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau #endif /* __LINUX_USB_PCI_QUIRKS_H */ --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -495,7 +495,14 @@ extern int usb_hcd_pci_probe(struct pci_ +@@ -497,7 +497,14 @@ extern int usb_hcd_pci_probe(struct pci_ extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev); 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 1fb0182f1..dbcd6a5b3 100644 --- a/target/linux/generic/pending-5.15/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-5.15/920-mangle_bootargs.patch @@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz --- a/init/Kconfig +++ b/init/Kconfig -@@ -1805,6 +1805,15 @@ config EMBEDDED +@@ -1810,6 +1810,15 @@ config EMBEDDED an embedded system so certain expert options are available for configuration. diff --git a/target/linux/mediatek/patches-5.15/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch b/target/linux/mediatek/patches-5.15/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch index 571a5f7d4..9689c1e79 100644 --- a/target/linux/mediatek/patches-5.15/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch +++ b/target/linux/mediatek/patches-5.15/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch @@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau struct mtk_pcie_port; /** -@@ -1053,6 +1059,27 @@ static int mtk_pcie_setup(struct mtk_pci +@@ -1054,6 +1060,27 @@ static int mtk_pcie_setup(struct mtk_pci struct mtk_pcie_port *port, *tmp; int err, slot; 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 68b31037f..f15a2ad54 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 -@@ -1854,6 +1854,7 @@ int spi_nor_sr2_bit7_quad_enable(struct +@@ -1863,6 +1863,7 @@ int spi_nor_sr2_bit7_quad_enable(struct static const struct spi_nor_manufacturer *manufacturers[] = { &spi_nor_atmel,