From 1c92e468d544db98018c55d5d18e41fc1a3af20b Mon Sep 17 00:00:00 2001 From: Goetz Goerisch Date: Fri, 29 Aug 2025 11:03:10 +0200 Subject: [PATCH] kernel: bump 6.6 to 6.6.103 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.103 removed upstream patches: generic-backport/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch [1] generic-backport/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch [2] update patch to upstream function change bcm53x/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch changed function xhci_disable_and_free_slot() upstream [3] All other patches auto-refreshed. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.103&id=93879b3ba967a33834727abf34ea08764339fe0b [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.103&id=c66caf21b1d0a0847adc34d368e3f6753a2cbd53 [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host?h=v6.6.103&id=e600de541c37f97482fea2a7a26f186141e7ddea Suggested-by: Leo Barsky Signed-off-by: Goetz Goerisch Link: https://github.com/openwrt/openwrt/pull/19898 Signed-off-by: Hauke Mehrtens --- .../105-uart-add-en7523-support.patch | 2 +- .../901-snand-mtk-bmt-support.patch | 6 +- ...support-for-performing-fake-doorbell.patch | 6 +- ...6-powerpc-boot-fix-build-with-gcc-15.patch | 29 ------- ...d-add-support-for-FORESEE-F35SQA002G.patch | 2 +- ...bitflip_threshold-to-75-of-ECC-stren.patch | 2 +- ...tional-threaded-NAPI-wakeup-based-on.patch | 6 +- ...-to-use-SMP-threads-for-backlog-NAPI.patch | 22 ++--- ...klog-NAPI-to-clean-up-the-defer_list.patch | 2 +- ...-net-Rename-rps_lock-to-backlog_lock.patch | 18 ++--- ...-net-Make-USO-depend-on-CSUM-offload.patch | 6 +- ...64-if-device-if-driver-is-configured.patch | 2 +- ...e-IFF_NO_QUEUE-in-virtual-interfaces.patch | 2 +- ...-create-a-dummy-net_device-allocator.patch | 6 +- ...HY-package-API-to-support-multiple-g.patch | 2 +- ..._eth_soc-rely-on-mtk_pse_port-defini.patch | 2 +- ..._wed-introduce-versioning-utility-ro.patch | 2 +- ...k_wed-add-mtk_wed_soc_data-structure.patch | 4 +- ..._wed-introduce-WED-support-for-MT798.patch | 4 +- ..._wed-introduce-partial-AMSDU-offload.patch | 4 +- ..._eth_soc-ppe-add-support-for-multipl.patch | 6 +- ..._eth_soc-ppe-prevent-ppe-update-for-.patch | 2 +- ...t-introduce-napi_is_scheduled-helper.patch | 2 +- ...dd-missing-MODULE_DESCRIPTION-macros.patch | 2 +- ...-pci-renesas-a-proper-modular-driver.patch | 10 +-- ...igger-netdev-Extend-speeds-up-to-10G.patch | 14 ++-- ...ger-netdev-Configure-LED-blink-inter.patch | 81 ------------------- ...et-free_netdev-exit-earlier-if-dummy.patch | 2 +- ...dd-RCTAPT-support-for-different-OSRs.patch | 4 +- ...w-configuration-of-oversampling-rate.patch | 4 +- ...er-reuse-allocated-entropy-collector.patch | 2 +- .../generic/hack-6.6/204-module_strip.patch | 8 +- .../721-net-add-packet-mangeling.patch | 2 +- .../hack-6.6/901-debloat_sock_diag.patch | 2 +- .../generic/hack-6.6/902-debloat_proc.patch | 2 +- target/linux/generic/kernel-6.6 | 4 +- ...include-asm-rwonce.h-for-kernel-code.patch | 2 +- ...nd-Add-support-for-Etron-EM73D044VCx.patch | 2 +- ..._F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch | 2 +- ...iatek-fix-ppe-flow-accounting-for-L2.patch | 2 +- ...-bus-mhi-core-add-SBL-state-callback.patch | 2 +- ...-max-gen-first-for-IMX8MM-and-IMX8MP.patch | 2 +- 42 files changed, 89 insertions(+), 199 deletions(-) delete mode 100644 target/linux/generic/backport-6.6/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch delete mode 100644 target/linux/generic/backport-6.6/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch diff --git a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch index 80723bd5af9..9ea355370bb 100644 --- a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch +++ b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch @@ -122,7 +122,7 @@ }; /* Uart divisor latch read */ -@@ -2889,6 +2897,12 @@ serial8250_do_set_termios(struct uart_po +@@ -2888,6 +2896,12 @@ serial8250_do_set_termios(struct uart_po serial8250_set_divisor(port, baud, quot, frac); diff --git a/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch b/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch index 06026f375ec..87d898d4a48 100644 --- a/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch +++ b/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch @@ -8,7 +8,7 @@ static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val) { -@@ -1348,6 +1349,7 @@ static int spinand_probe(struct spi_mem +@@ -1351,6 +1352,7 @@ static int spinand_probe(struct spi_mem if (ret) return ret; @@ -16,7 +16,7 @@ ret = mtd_device_register(mtd, NULL, 0); if (ret) goto err_spinand_cleanup; -@@ -1355,6 +1357,7 @@ static int spinand_probe(struct spi_mem +@@ -1358,6 +1360,7 @@ static int spinand_probe(struct spi_mem return 0; err_spinand_cleanup: @@ -24,7 +24,7 @@ spinand_cleanup(spinand); return ret; -@@ -1373,6 +1376,7 @@ static int spinand_remove(struct spi_mem +@@ -1376,6 +1379,7 @@ static int spinand_remove(struct spi_mem if (ret) return ret; diff --git a/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index f8d8f0069bc..378d1467ed6 100644 --- a/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -35,7 +35,7 @@ it on BCM4708 family. /* called during probe() after chip reset completes */ --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -162,6 +162,49 @@ int xhci_start(struct xhci_hcd *xhci) +@@ -163,6 +163,49 @@ int xhci_start(struct xhci_hcd *xhci) return ret; } @@ -73,7 +73,7 @@ it on BCM4708 family. + } + + /* Free virt device */ -+ xhci_free_virt_device(xhci, slot_id); ++ xhci_disable_and_free_slot(xhci, slot_id); + + /* We're done if controller is already running */ + if (readl(&xhci->op_regs->command) & CMD_RUN) @@ -85,7 +85,7 @@ it on BCM4708 family. /* * Reset a halted HC. * -@@ -498,6 +541,15 @@ static int xhci_run_finished(struct xhci +@@ -500,6 +543,15 @@ static int xhci_run_finished(struct xhci return -ENODEV; } diff --git a/target/linux/generic/backport-6.6/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch b/target/linux/generic/backport-6.6/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch deleted file mode 100644 index 330db465849..00000000000 --- a/target/linux/generic/backport-6.6/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5a821e2d69e26b51b7f3740b6b0c3462b8cacaff Mon Sep 17 00:00:00 2001 -From: Michal Suchanek -Date: Mon, 31 Mar 2025 12:57:19 +0200 -Subject: [PATCH] powerpc/boot: Fix build with gcc 15 - -Similar to x86 the ppc boot code does not build with GCC 15. - -Copy the fix from -commit ee2ab467bddf ("x86/boot: Use '-std=gnu11' to fix build with GCC 15") - -Signed-off-by: Michal Suchanek -Tested-by: Amit Machhiwal -Tested-by: Venkat Rao Bagalkote -Signed-off-by: Madhavan Srinivasan -Link: https://patch.msgid.link/20250331105722.19709-1-msuchanek@suse.de ---- - arch/powerpc/boot/Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/arch/powerpc/boot/Makefile -+++ b/arch/powerpc/boot/Makefile -@@ -72,6 +72,7 @@ BOOTCPPFLAGS := -nostdinc $(LINUXINCLUDE - BOOTCPPFLAGS += -isystem $(shell $(BOOTCC) -print-file-name=include) - - BOOTCFLAGS := $(BOOTTARGETFLAGS) \ -+ -std=gnu11 \ - -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ - -fno-strict-aliasing -O2 \ - -msoft-float -mno-altivec -mno-vsx \ diff --git a/target/linux/generic/backport-6.6/411-v6.7-mtd-spinand-add-support-for-FORESEE-F35SQA002G.patch b/target/linux/generic/backport-6.6/411-v6.7-mtd-spinand-add-support-for-FORESEE-F35SQA002G.patch index 90672b99797..459dd4481e3 100644 --- a/target/linux/generic/backport-6.6/411-v6.7-mtd-spinand-add-support-for-FORESEE-F35SQA002G.patch +++ b/target/linux/generic/backport-6.6/411-v6.7-mtd-spinand-add-support-for-FORESEE-F35SQA002G.patch @@ -28,7 +28,7 @@ Link: https://lore.kernel.org/linux-mtd/20231002140458.147605-1-mmkurbanov@salut obj-$(CONFIG_MTD_SPI_NAND) += spinand.o --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c -@@ -940,6 +940,7 @@ static const struct spinand_manufacturer +@@ -943,6 +943,7 @@ static const struct spinand_manufacturer &alliancememory_spinand_manufacturer, &ato_spinand_manufacturer, &esmt_c8_spinand_manufacturer, diff --git a/target/linux/generic/backport-6.6/417-v6.12-mtd-spinand-set-bitflip_threshold-to-75-of-ECC-stren.patch b/target/linux/generic/backport-6.6/417-v6.12-mtd-spinand-set-bitflip_threshold-to-75-of-ECC-stren.patch index 4b576fee357..dfecdf1c1d0 100644 --- a/target/linux/generic/backport-6.6/417-v6.12-mtd-spinand-set-bitflip_threshold-to-75-of-ECC-stren.patch +++ b/target/linux/generic/backport-6.6/417-v6.12-mtd-spinand-set-bitflip_threshold-to-75-of-ECC-stren.patch @@ -21,7 +21,7 @@ Link: https://lore.kernel.org/linux-mtd/2117e387260b0a96f95b8e1652ff79e0e2d71d53 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c -@@ -1287,6 +1287,7 @@ static int spinand_init(struct spinand_d +@@ -1290,6 +1290,7 @@ static int spinand_init(struct spinand_d /* Propagate ECC information to mtd_info */ mtd->ecc_strength = nanddev_get_ecc_conf(nand)->strength; mtd->ecc_step_size = nanddev_get_ecc_conf(nand)->step_size; diff --git a/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch b/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch index afaa5328cab..9d95631facc 100644 --- a/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch +++ b/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch @@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4514,13 +4514,7 @@ static inline void ____napi_schedule(str +@@ -4526,13 +4526,7 @@ static inline void ____napi_schedule(str */ thread = READ_ONCE(napi->thread); if (thread) { @@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni wake_up_process(thread); return; } -@@ -6676,8 +6670,6 @@ static int napi_poll(struct napi_struct +@@ -6688,8 +6682,6 @@ static int napi_poll(struct napi_struct static int napi_thread_wait(struct napi_struct *napi) { @@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni set_current_state(TASK_INTERRUPTIBLE); while (!kthread_should_stop()) { -@@ -6686,15 +6678,13 @@ static int napi_thread_wait(struct napi_ +@@ -6698,15 +6690,13 @@ static int napi_thread_wait(struct napi_ * Testing SCHED bit is not enough because SCHED bit might be * set by some other busy poll thread or by napi_disable(). */ diff --git a/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch b/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch index 98cd35ed843..0c2de044848 100644 --- a/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch +++ b/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch @@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni static inline void rps_lock_irqsave(struct softnet_data *sd, unsigned long *flags) { -@@ -4482,6 +4508,7 @@ EXPORT_SYMBOL(__dev_direct_xmit); +@@ -4494,6 +4520,7 @@ EXPORT_SYMBOL(__dev_direct_xmit); /************************************************************************* * Receiver routines *************************************************************************/ @@ -116,7 +116,7 @@ Signed-off-by: Paolo Abeni int netdev_max_backlog __read_mostly = 1000; EXPORT_SYMBOL(netdev_max_backlog); -@@ -4514,12 +4541,16 @@ static inline void ____napi_schedule(str +@@ -4526,12 +4553,16 @@ static inline void ____napi_schedule(str */ thread = READ_ONCE(napi->thread); if (thread) { @@ -133,7 +133,7 @@ Signed-off-by: Paolo Abeni list_add_tail(&napi->poll_list, &sd->poll_list); WRITE_ONCE(napi->list_owner, smp_processor_id()); /* If not called from net_rx_action() -@@ -4765,6 +4796,11 @@ static void napi_schedule_rps(struct sof +@@ -4777,6 +4808,11 @@ static void napi_schedule_rps(struct sof #ifdef CONFIG_RPS if (sd != mysd) { @@ -145,7 +145,7 @@ Signed-off-by: Paolo Abeni sd->rps_ipi_next = mysd->rps_ipi_list; mysd->rps_ipi_list = sd; -@@ -5988,7 +6024,7 @@ static void net_rps_action_and_irq_enabl +@@ -6000,7 +6036,7 @@ static void net_rps_action_and_irq_enabl #ifdef CONFIG_RPS struct softnet_data *remsd = sd->rps_ipi_list; @@ -154,7 +154,7 @@ Signed-off-by: Paolo Abeni sd->rps_ipi_list = NULL; local_irq_enable(); -@@ -6003,7 +6039,7 @@ static void net_rps_action_and_irq_enabl +@@ -6015,7 +6051,7 @@ static void net_rps_action_and_irq_enabl static bool sd_has_rps_ipi_waiting(struct softnet_data *sd) { #ifdef CONFIG_RPS @@ -163,7 +163,7 @@ Signed-off-by: Paolo Abeni #else return false; #endif -@@ -6047,7 +6083,7 @@ static int process_backlog(struct napi_s +@@ -6059,7 +6095,7 @@ 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. */ @@ -172,7 +172,7 @@ Signed-off-by: Paolo Abeni again = false; } else { skb_queue_splice_tail_init(&sd->input_pkt_queue, -@@ -6713,43 +6749,48 @@ static void skb_defer_free_flush(struct +@@ -6725,43 +6761,48 @@ static void skb_defer_free_flush(struct } } @@ -250,7 +250,7 @@ Signed-off-by: Paolo Abeni return 0; } -@@ -11334,7 +11375,7 @@ static int dev_cpu_dead(unsigned int old +@@ -11346,7 +11387,7 @@ static int dev_cpu_dead(unsigned int old list_del_init(&napi->poll_list); if (napi->poll == process_backlog) @@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni else ____napi_schedule(sd, napi); } -@@ -11342,12 +11383,14 @@ static int dev_cpu_dead(unsigned int old +@@ -11354,12 +11395,14 @@ static int dev_cpu_dead(unsigned int old raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni /* Process offline CPU's input_pkt_queue */ while ((skb = __skb_dequeue(&oldsd->process_queue))) { -@@ -11610,6 +11653,38 @@ static struct pernet_operations __net_in +@@ -11622,6 +11665,38 @@ static struct pernet_operations __net_in * */ @@ -317,7 +317,7 @@ Signed-off-by: Paolo Abeni /* * This is called single threaded during boot, so no need * to take the rtnl semaphore. -@@ -11660,7 +11735,10 @@ static int __init net_dev_init(void) +@@ -11672,7 +11747,10 @@ static int __init net_dev_init(void) init_gro_hash(&sd->backlog); sd->backlog.poll = process_backlog; sd->backlog.weight = weight_p; diff --git a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch index b721a16f18c..d6ef75db698 100644 --- a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch +++ b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch @@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni spin_unlock_irq(&sd->input_pkt_queue.lock); else if (!IS_ENABLED(CONFIG_PREEMPT_RT)) local_irq_enable(); -@@ -4815,6 +4815,23 @@ static void napi_schedule_rps(struct sof +@@ -4827,6 +4827,23 @@ static void napi_schedule_rps(struct sof __napi_schedule_irqoff(&mysd->backlog); } diff --git a/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch b/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch index 33ebe5d2a64..ccb761cf5c3 100644 --- a/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch +++ b/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch @@ -67,7 +67,7 @@ Signed-off-by: Paolo Abeni { if (IS_ENABLED(CONFIG_RPS) || use_backlog_threads()) spin_unlock_irq(&sd->input_pkt_queue.lock); -@@ -4820,12 +4820,12 @@ void kick_defer_list_purge(struct softne +@@ -4832,12 +4832,12 @@ void kick_defer_list_purge(struct softne unsigned long flags; if (use_backlog_threads()) { @@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni } else if (!cmpxchg(&sd->defer_ipi_scheduled, 0, 1)) { smp_call_function_single_async(cpu, &sd->defer_csd); -@@ -4887,7 +4887,7 @@ static int enqueue_to_backlog(struct sk_ +@@ -4899,7 +4899,7 @@ static int enqueue_to_backlog(struct sk_ reason = SKB_DROP_REASON_NOT_SPECIFIED; sd = &per_cpu(softnet_data, cpu); @@ -91,7 +91,7 @@ Signed-off-by: Paolo Abeni if (!netif_running(skb->dev)) goto drop; qlen = skb_queue_len(&sd->input_pkt_queue); -@@ -4896,7 +4896,7 @@ static int enqueue_to_backlog(struct sk_ +@@ -4908,7 +4908,7 @@ static int enqueue_to_backlog(struct sk_ enqueue: __skb_queue_tail(&sd->input_pkt_queue, skb); input_queue_tail_incr_save(sd, qtail); @@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni return NET_RX_SUCCESS; } -@@ -4911,7 +4911,7 @@ enqueue: +@@ -4923,7 +4923,7 @@ enqueue: drop: sd->dropped++; @@ -109,7 +109,7 @@ Signed-off-by: Paolo Abeni dev_core_stats_rx_dropped_inc(skb->dev); kfree_skb_reason(skb, reason); -@@ -5942,7 +5942,7 @@ static void flush_backlog(struct work_st +@@ -5954,7 +5954,7 @@ static void flush_backlog(struct work_st local_bh_disable(); sd = this_cpu_ptr(&softnet_data); @@ -118,7 +118,7 @@ Signed-off-by: Paolo Abeni skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { __skb_unlink(skb, &sd->input_pkt_queue); -@@ -5950,7 +5950,7 @@ static void flush_backlog(struct work_st +@@ -5962,7 +5962,7 @@ static void flush_backlog(struct work_st input_queue_head_incr(sd); } } @@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni skb_queue_walk_safe(&sd->process_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { -@@ -5968,14 +5968,14 @@ static bool flush_required(int cpu) +@@ -5980,14 +5980,14 @@ static bool flush_required(int cpu) struct softnet_data *sd = &per_cpu(softnet_data, cpu); bool do_flush; @@ -144,7 +144,7 @@ Signed-off-by: Paolo Abeni return do_flush; #endif -@@ -6090,7 +6090,7 @@ static int process_backlog(struct napi_s +@@ -6102,7 +6102,7 @@ static int process_backlog(struct napi_s } @@ -153,7 +153,7 @@ Signed-off-by: Paolo Abeni if (skb_queue_empty(&sd->input_pkt_queue)) { /* * Inline a custom version of __napi_complete(). -@@ -6106,7 +6106,7 @@ static int process_backlog(struct napi_s +@@ -6118,7 +6118,7 @@ static int process_backlog(struct napi_s skb_queue_splice_tail_init(&sd->input_pkt_queue, &sd->process_queue); } diff --git a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch index 0ccf0e30d67..ae1a9a06391 100644 --- a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch +++ b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch @@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -9796,6 +9796,15 @@ static void netdev_sync_lower_features(s +@@ -9808,6 +9808,15 @@ static void netdev_sync_lower_features(s } } @@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski static netdev_features_t netdev_fix_features(struct net_device *dev, netdev_features_t features) { -@@ -9877,15 +9886,9 @@ static netdev_features_t netdev_fix_feat +@@ -9889,15 +9898,9 @@ static netdev_features_t netdev_fix_feat features &= ~NETIF_F_LRO; } @@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski } if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) { -@@ -9893,6 +9896,11 @@ static netdev_features_t netdev_fix_feat +@@ -9905,6 +9908,11 @@ static netdev_features_t netdev_fix_feat features &= ~NETIF_F_HW_TLS_RX; } diff --git a/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch b/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch index c27ccc19427..bf2c428eb42 100644 --- a/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch +++ b/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch @@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10703,6 +10703,8 @@ struct rtnl_link_stats64 *dev_get_stats( +@@ -10715,6 +10715,8 @@ struct rtnl_link_stats64 *dev_get_stats( ops->ndo_get_stats64(dev, storage); } else if (ops->ndo_get_stats) { netdev_stats_to_stats64(storage, ops->ndo_get_stats(dev)); diff --git a/target/linux/generic/backport-6.6/624-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch b/target/linux/generic/backport-6.6/624-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch index 7d18fff096e..7d9859ec2e9 100644 --- a/target/linux/generic/backport-6.6/624-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch +++ b/target/linux/generic/backport-6.6/624-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch @@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3500,6 +3500,10 @@ ppp_connect_channel(struct channel *pch, +@@ -3504,6 +3504,10 @@ ppp_connect_channel(struct channel *pch, ret = -ENOTCONN; goto outl; } diff --git a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch index efc64121775..c91d0428b87 100644 --- a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch +++ b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch @@ -49,7 +49,7 @@ Signed-off-by: David S. Miller unsigned char name_assign_type, --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10390,25 +10390,12 @@ err_free_name: +@@ -10402,25 +10402,12 @@ err_free_name: } EXPORT_SYMBOL(register_netdevice); @@ -79,7 +79,7 @@ Signed-off-by: David S. Miller /* make sure we BUG if trying to hit standard * register/unregister code path */ -@@ -10428,12 +10415,32 @@ int init_dummy_netdev(struct net_device +@@ -10440,12 +10427,32 @@ int init_dummy_netdev(struct net_device * because users of this 'device' dont need to change * its refcount. */ @@ -113,7 +113,7 @@ Signed-off-by: David S. Miller /** * register_netdev - register a network device * @dev: device to register -@@ -11027,6 +11034,19 @@ void free_netdev(struct net_device *dev) +@@ -11039,6 +11046,19 @@ void free_netdev(struct net_device *dev) EXPORT_SYMBOL(free_netdev); /** diff --git a/target/linux/generic/backport-6.6/714-v6.8-02-net-phy-extend-PHY-package-API-to-support-multiple-g.patch b/target/linux/generic/backport-6.6/714-v6.8-02-net-phy-extend-PHY-package-API-to-support-multiple-g.patch index e7e3c8c75f6..514a80b298d 100644 --- a/target/linux/generic/backport-6.6/714-v6.8-02-net-phy-extend-PHY-package-API-to-support-multiple-g.patch +++ b/target/linux/generic/backport-6.6/714-v6.8-02-net-phy-extend-PHY-package-API-to-support-multiple-g.patch @@ -87,7 +87,7 @@ Signed-off-by: David S. Miller phy_unlock_mdio_bus(phydev); --- a/drivers/net/phy/mscc/mscc.h +++ b/drivers/net/phy/mscc/mscc.h -@@ -416,6 +416,11 @@ struct vsc8531_private { +@@ -428,6 +428,11 @@ struct vsc8531_private { * gpio_lock: used for PHC operations. Common for all PHYs as the load/save GPIO * is shared. */ diff --git a/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch b/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch index b9820117916..e8b9bba1d83 100644 --- a/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch +++ b/target/linux/generic/backport-6.6/752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch @@ -14,7 +14,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -198,10 +198,10 @@ mtk_flow_set_output_device(struct mtk_et +@@ -200,10 +200,10 @@ mtk_flow_set_output_device(struct mtk_et if (mtk_is_netsys_v2_or_greater(eth)) { switch (info.wdma_idx) { case 0: diff --git a/target/linux/generic/backport-6.6/752-06-v6.7-net-ethernet-mtk_wed-introduce-versioning-utility-ro.patch b/target/linux/generic/backport-6.6/752-06-v6.7-net-ethernet-mtk_wed-introduce-versioning-utility-ro.patch index 323bc14c3ec..dc692b49687 100644 --- a/target/linux/generic/backport-6.6/752-06-v6.7-net-ethernet-mtk_wed-introduce-versioning-utility-ro.patch +++ b/target/linux/generic/backport-6.6/752-06-v6.7-net-ethernet-mtk_wed-introduce-versioning-utility-ro.patch @@ -177,7 +177,7 @@ Signed-off-by: Paolo Abeni return -EOPNOTSUPP; switch (type) { -@@ -1916,9 +1916,9 @@ void mtk_wed_add_hw(struct device_node * +@@ -1915,9 +1915,9 @@ void mtk_wed_add_hw(struct device_node * hw->wdma = wdma; hw->index = index; hw->irq = irq; diff --git a/target/linux/generic/backport-6.6/752-13-v6.7-net-ethernet-mtk_wed-add-mtk_wed_soc_data-structure.patch b/target/linux/generic/backport-6.6/752-13-v6.7-net-ethernet-mtk_wed-add-mtk_wed_soc_data-structure.patch index 6e2f8b19208..8ca733f3ed0 100644 --- a/target/linux/generic/backport-6.6/752-13-v6.7-net-ethernet-mtk_wed-add-mtk_wed_soc_data-structure.patch +++ b/target/linux/generic/backport-6.6/752-13-v6.7-net-ethernet-mtk_wed-add-mtk_wed_soc_data-structure.patch @@ -142,7 +142,7 @@ Signed-off-by: Paolo Abeni return -ENOMEM; wdma_w32(dev, MTK_WDMA_RING_TX(idx) + MTK_WED_RING_OFS_BASE, -@@ -1930,7 +1937,12 @@ void mtk_wed_add_hw(struct device_node * +@@ -1929,7 +1936,12 @@ void mtk_wed_add_hw(struct device_node * hw->irq = irq; hw->version = eth->soc->version; @@ -156,7 +156,7 @@ Signed-off-by: Paolo Abeni hw->mirror = syscon_regmap_lookup_by_phandle(eth_np, "mediatek,pcie-mirror"); hw->hifsys = syscon_regmap_lookup_by_phandle(eth_np, -@@ -1944,6 +1956,8 @@ void mtk_wed_add_hw(struct device_node * +@@ -1943,6 +1955,8 @@ void mtk_wed_add_hw(struct device_node * regmap_write(hw->mirror, 0, 0); regmap_write(hw->mirror, 4, 0); } diff --git a/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch b/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch index 2e846f54953..aa6542a7d8b 100644 --- a/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch +++ b/target/linux/generic/backport-6.6/752-14-v6.7-net-ethernet-mtk_wed-introduce-WED-support-for-MT798.patch @@ -34,7 +34,7 @@ Signed-off-by: Paolo Abeni }; --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -203,6 +203,9 @@ mtk_flow_set_output_device(struct mtk_et +@@ -205,6 +205,9 @@ mtk_flow_set_output_device(struct mtk_et case 1: pse_port = PSE_WDMA1_PORT; break; @@ -759,7 +759,7 @@ Signed-off-by: Paolo Abeni val = wed_r32(dev, MTK_WED_EXT_INT_STATUS); wed_w32(dev, MTK_WED_EXT_INT_STATUS, val); -@@ -1941,6 +2132,9 @@ void mtk_wed_add_hw(struct device_node * +@@ -1940,6 +2131,9 @@ void mtk_wed_add_hw(struct device_node * case 2: hw->soc = &mt7986_data; break; diff --git a/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch b/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch index 2376b050b85..d879dc0de87 100644 --- a/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch +++ b/target/linux/generic/backport-6.6/752-16-v6.7-net-ethernet-mtk_wed-introduce-partial-AMSDU-offload.patch @@ -77,7 +77,7 @@ Signed-off-by: Paolo Abeni int mtk_foe_entry_commit(struct mtk_ppe *ppe, struct mtk_flow_entry *entry); --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -113,6 +113,7 @@ mtk_flow_get_wdma_info(struct net_device +@@ -115,6 +115,7 @@ mtk_flow_get_wdma_info(struct net_device info->queue = path->mtk_wdma.queue; info->bss = path->mtk_wdma.bss; info->wcid = path->mtk_wdma.wcid; @@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni return 0; } -@@ -194,7 +195,7 @@ mtk_flow_set_output_device(struct mtk_et +@@ -196,7 +197,7 @@ mtk_flow_set_output_device(struct mtk_et if (mtk_flow_get_wdma_info(dev, dest_mac, &info) == 0) { mtk_foe_entry_set_wdma(eth, foe, info.wdma_idx, info.queue, diff --git a/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch b/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch index 9fdb94cb448..82dae16ee3c 100644 --- a/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch +++ b/target/linux/generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch @@ -328,7 +328,7 @@ Signed-off-by: Jakub Kicinski int mtk_flow_offload_cmd(struct mtk_eth *eth, struct flow_cls_offload *cls, --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -247,10 +247,10 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -249,10 +249,10 @@ mtk_flow_offload_replace(struct mtk_eth int ppe_index) { struct flow_rule *rule = flow_cls_offload_flow_rule(f); @@ -340,7 +340,7 @@ Signed-off-by: Jakub Kicinski struct mtk_flow_entry *entry; int offload_type = 0; int wed_index = -1; -@@ -266,6 +266,17 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -268,6 +268,17 @@ mtk_flow_offload_replace(struct mtk_eth struct flow_match_meta match; flow_rule_match_meta(rule, &match); @@ -358,7 +358,7 @@ Signed-off-by: Jakub Kicinski } else { return -EOPNOTSUPP; } -@@ -633,7 +644,9 @@ int mtk_eth_setup_tc(struct net_device * +@@ -635,7 +646,9 @@ int mtk_eth_setup_tc(struct net_device * } } diff --git a/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch b/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch index d70c89f7c4d..0ef6cd88b1a 100644 --- a/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch +++ b/target/linux/generic/backport-6.6/752-27-v6.10-net-ethernet-mtk_eth_soc-ppe-prevent-ppe-update-for-.patch @@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -268,7 +268,7 @@ mtk_flow_offload_replace(struct mtk_eth +@@ -270,7 +270,7 @@ mtk_flow_offload_replace(struct mtk_eth flow_rule_match_meta(rule, &match); if (mtk_is_netsys_v2_or_greater(eth)) { idev = __dev_get_by_index(&init_net, match.key->ingress_ifindex); diff --git a/target/linux/generic/backport-6.6/770-v6.7-net-introduce-napi_is_scheduled-helper.patch b/target/linux/generic/backport-6.6/770-v6.7-net-introduce-napi_is_scheduled-helper.patch index 4aa93c20d1b..b9bf885d9d5 100644 --- a/target/linux/generic/backport-6.6/770-v6.7-net-introduce-napi_is_scheduled-helper.patch +++ b/target/linux/generic/backport-6.6/770-v6.7-net-introduce-napi_is_scheduled-helper.patch @@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni /** --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6643,7 +6643,7 @@ static int __napi_poll(struct napi_struc +@@ -6655,7 +6655,7 @@ static int __napi_poll(struct napi_struc * accidentally calling ->poll() when NAPI is not scheduled. */ work = 0; diff --git a/target/linux/generic/backport-6.6/806-02-v6.11-usb-host-add-missing-MODULE_DESCRIPTION-macros.patch b/target/linux/generic/backport-6.6/806-02-v6.11-usb-host-add-missing-MODULE_DESCRIPTION-macros.patch index f27b56a93be..2d37bb8dec3 100644 --- a/target/linux/generic/backport-6.6/806-02-v6.11-usb-host-add-missing-MODULE_DESCRIPTION-macros.patch +++ b/target/linux/generic/backport-6.6/806-02-v6.11-usb-host-add-missing-MODULE_DESCRIPTION-macros.patch @@ -27,7 +27,7 @@ Signed-off-by: Greg Kroah-Hartman MODULE_LICENSE("GPL v2"); --- a/drivers/usb/host/xhci-pci-renesas.c +++ b/drivers/usb/host/xhci-pci-renesas.c -@@ -627,4 +627,5 @@ exit: +@@ -628,4 +628,5 @@ exit: } EXPORT_SYMBOL_GPL(renesas_xhci_check_request_fw); diff --git a/target/linux/generic/backport-6.6/806-03-v6.12-xhci-pci-Make-xhci-pci-renesas-a-proper-modular-driver.patch b/target/linux/generic/backport-6.6/806-03-v6.12-xhci-pci-Make-xhci-pci-renesas-a-proper-modular-driver.patch index dfab7200e14..41e310d89c0 100644 --- a/target/linux/generic/backport-6.6/806-03-v6.12-xhci-pci-Make-xhci-pci-renesas-a-proper-modular-driver.patch +++ b/target/linux/generic/backport-6.6/806-03-v6.12-xhci-pci-Make-xhci-pci-renesas-a-proper-modular-driver.patch @@ -63,16 +63,16 @@ Signed-off-by: Greg Kroah-Hartman firmware. Make sure you have the firmware for the device and --- a/drivers/usb/host/xhci-pci-renesas.c +++ b/drivers/usb/host/xhci-pci-renesas.c -@@ -50,6 +50,8 @@ - #define RENESAS_RETRY 10000 - #define RENESAS_DELAY 10 +@@ -51,6 +51,8 @@ + #define RENESAS_CHIP_ERASE_RETRY 500000 /* 500000 * RENESAS_DELAY ~= 5s */ + #define RENESAS_DELAY 10 +#define RENESAS_FW_NAME "renesas_usb_fw.mem" + static int renesas_fw_download_image(struct pci_dev *dev, const u32 *fw, size_t step, bool rom) { -@@ -573,12 +575,10 @@ exit: +@@ -574,12 +576,10 @@ exit: return err; } @@ -88,7 +88,7 @@ Signed-off-by: Greg Kroah-Hartman const struct firmware *fw; bool has_rom; int err; -@@ -625,7 +625,41 @@ exit: +@@ -626,7 +626,41 @@ exit: release_firmware(fw); return err; } diff --git a/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch b/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch index 3a64e6822d2..4571d7d2bf5 100644 --- a/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch +++ b/target/linux/generic/backport-6.6/834-v6.8-leds-trigger-netdev-Extend-speeds-up-to-10G.patch @@ -16,7 +16,7 @@ Signed-off-by: Lee Jones --- a/drivers/leds/trigger/ledtrig-netdev.c +++ b/drivers/leds/trigger/ledtrig-netdev.c -@@ -104,6 +104,18 @@ static void set_baseline_state(struct le +@@ -99,6 +99,18 @@ static void set_baseline_state(struct le trigger_data->link_speed == SPEED_1000) blink_on = true; @@ -35,7 +35,7 @@ Signed-off-by: Lee Jones if (test_bit(TRIGGER_NETDEV_HALF_DUPLEX, &trigger_data->mode) && trigger_data->duplex == DUPLEX_HALF) blink_on = true; -@@ -294,6 +306,9 @@ static ssize_t netdev_led_attr_show(stru +@@ -289,6 +301,9 @@ static ssize_t netdev_led_attr_show(stru case TRIGGER_NETDEV_LINK_10: case TRIGGER_NETDEV_LINK_100: case TRIGGER_NETDEV_LINK_1000: @@ -45,7 +45,7 @@ Signed-off-by: Lee Jones case TRIGGER_NETDEV_HALF_DUPLEX: case TRIGGER_NETDEV_FULL_DUPLEX: case TRIGGER_NETDEV_TX: -@@ -324,6 +339,9 @@ static ssize_t netdev_led_attr_store(str +@@ -319,6 +334,9 @@ static ssize_t netdev_led_attr_store(str case TRIGGER_NETDEV_LINK_10: case TRIGGER_NETDEV_LINK_100: case TRIGGER_NETDEV_LINK_1000: @@ -55,7 +55,7 @@ Signed-off-by: Lee Jones case TRIGGER_NETDEV_HALF_DUPLEX: case TRIGGER_NETDEV_FULL_DUPLEX: case TRIGGER_NETDEV_TX: -@@ -342,7 +360,10 @@ static ssize_t netdev_led_attr_store(str +@@ -337,7 +355,10 @@ static ssize_t netdev_led_attr_store(str if (test_bit(TRIGGER_NETDEV_LINK, &mode) && (test_bit(TRIGGER_NETDEV_LINK_10, &mode) || test_bit(TRIGGER_NETDEV_LINK_100, &mode) || @@ -67,7 +67,7 @@ Signed-off-by: Lee Jones return -EINVAL; cancel_delayed_work_sync(&trigger_data->work); -@@ -372,6 +393,9 @@ DEFINE_NETDEV_TRIGGER(link, TRIGGER_NETD +@@ -367,6 +388,9 @@ DEFINE_NETDEV_TRIGGER(link, TRIGGER_NETD DEFINE_NETDEV_TRIGGER(link_10, TRIGGER_NETDEV_LINK_10); DEFINE_NETDEV_TRIGGER(link_100, TRIGGER_NETDEV_LINK_100); DEFINE_NETDEV_TRIGGER(link_1000, TRIGGER_NETDEV_LINK_1000); @@ -77,7 +77,7 @@ Signed-off-by: Lee Jones DEFINE_NETDEV_TRIGGER(half_duplex, TRIGGER_NETDEV_HALF_DUPLEX); DEFINE_NETDEV_TRIGGER(full_duplex, TRIGGER_NETDEV_FULL_DUPLEX); DEFINE_NETDEV_TRIGGER(tx, TRIGGER_NETDEV_TX); -@@ -435,6 +459,9 @@ static struct attribute *netdev_trig_att +@@ -425,6 +449,9 @@ static struct attribute *netdev_trig_att &dev_attr_link_10.attr, &dev_attr_link_100.attr, &dev_attr_link_1000.attr, @@ -87,7 +87,7 @@ Signed-off-by: Lee Jones &dev_attr_full_duplex.attr, &dev_attr_half_duplex.attr, &dev_attr_rx.attr, -@@ -532,6 +559,9 @@ static void netdev_trig_work(struct work +@@ -522,6 +549,9 @@ static void netdev_trig_work(struct work test_bit(TRIGGER_NETDEV_LINK_10, &trigger_data->mode) || test_bit(TRIGGER_NETDEV_LINK_100, &trigger_data->mode) || test_bit(TRIGGER_NETDEV_LINK_1000, &trigger_data->mode) || diff --git a/target/linux/generic/backport-6.6/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch b/target/linux/generic/backport-6.6/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch deleted file mode 100644 index 192f12d5c8f..00000000000 --- a/target/linux/generic/backport-6.6/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 26f732791f2bcab18f59c61915bbe35225f30136 Mon Sep 17 00:00:00 2001 -From: Daniel Golle -Date: Sat, 12 Jul 2025 16:39:21 +0100 -Subject: [PATCH] Revert "leds: trigger: netdev: Configure LED blink interval - for HW offload" - -This reverts commit c629c972b310af41e9e072febb6dae9a299edde6. - -While .led_blink_set() would previously put an LED into an unconditional -permanently blinking state, the offending commit now uses same operation -to (also?) set the blink timing of the netdev trigger when offloading. - -This breaks many if not all of the existing PHY drivers which offer -offloading LED operations, as those drivers would just put the LED into -blinking state after .led_blink_set() has been called. - -Unfortunately the change even made it into stable kernels for unknown -reasons, so it should be reverted there as well. - -Fixes: c629c972b310a ("leds: trigger: netdev: Configure LED blink interval for HW offload") -Link: https://lore.kernel.org/linux-leds/c6134e26-2e45-4121-aa15-58aaef327201@lunn.ch/T/#m9d6fe81bbcb273e59f12bbedbd633edd32118387 -Suggested-by: Andrew Lunn -Cc: stable@vger.kernel.org -Signed-off-by: Daniel Golle -Reviewed-by: Andrew Lunn -Link: https://lore.kernel.org/r/6dcc77ee1c9676891d6250d8994850f521426a0f.1752334655.git.daniel@makrotopia.org -Signed-off-by: Lee Jones ---- - drivers/leds/trigger/ledtrig-netdev.c | 16 +++------------- - 1 file changed, 3 insertions(+), 13 deletions(-) - ---- a/drivers/leds/trigger/ledtrig-netdev.c -+++ b/drivers/leds/trigger/ledtrig-netdev.c -@@ -54,7 +54,6 @@ struct led_netdev_data { - unsigned int last_activity; - - unsigned long mode; -- unsigned long blink_delay; - int link_speed; - u8 duplex; - -@@ -70,10 +69,6 @@ static void set_baseline_state(struct le - /* Already validated, hw control is possible with the requested mode */ - if (trigger_data->hw_control) { - led_cdev->hw_control_set(led_cdev, trigger_data->mode); -- if (led_cdev->blink_set) { -- led_cdev->blink_set(led_cdev, &trigger_data->blink_delay, -- &trigger_data->blink_delay); -- } - - return; - } -@@ -415,11 +410,10 @@ static ssize_t interval_store(struct dev - size_t size) - { - struct led_netdev_data *trigger_data = led_trigger_get_drvdata(dev); -- struct led_classdev *led_cdev = trigger_data->led_cdev; - unsigned long value; - int ret; - -- if (trigger_data->hw_control && !led_cdev->blink_set) -+ if (trigger_data->hw_control) - return -EINVAL; - - ret = kstrtoul(buf, 0, &value); -@@ -428,13 +422,9 @@ static ssize_t interval_store(struct dev - - /* impose some basic bounds on the timer interval */ - if (value >= 5 && value <= 10000) { -- if (trigger_data->hw_control) { -- trigger_data->blink_delay = value; -- } else { -- cancel_delayed_work_sync(&trigger_data->work); -+ cancel_delayed_work_sync(&trigger_data->work); - -- atomic_set(&trigger_data->interval, msecs_to_jiffies(value)); -- } -+ atomic_set(&trigger_data->interval, msecs_to_jiffies(value)); - set_baseline_state(trigger_data); /* resets timer */ - } - diff --git a/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch b/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch index 8f63a7a0df5..da054ef8ec7 100644 --- a/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch +++ b/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch @@ -23,7 +23,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -11020,7 +11020,8 @@ void free_netdev(struct net_device *dev) +@@ -11032,7 +11032,8 @@ void free_netdev(struct net_device *dev) dev->xdp_bulkq = NULL; /* Compatibility with error handling in drivers */ diff --git a/target/linux/generic/backport-6.6/906-01-v6.7-crypto-jitter-add-RCTAPT-support-for-different-OSRs.patch b/target/linux/generic/backport-6.6/906-01-v6.7-crypto-jitter-add-RCTAPT-support-for-different-OSRs.patch index d0ae1258f86..a8e729cb28a 100644 --- a/target/linux/generic/backport-6.6/906-01-v6.7-crypto-jitter-add-RCTAPT-support-for-different-OSRs.patch +++ b/target/linux/generic/backport-6.6/906-01-v6.7-crypto-jitter-add-RCTAPT-support-for-different-OSRs.patch @@ -43,7 +43,7 @@ Signed-off-by: Herbert Xu --- a/crypto/jitterentropy-kcapi.c +++ b/crypto/jitterentropy-kcapi.c -@@ -245,7 +245,7 @@ static int jent_kcapi_init(struct crypto +@@ -246,7 +246,7 @@ static int jent_kcapi_init(struct crypto crypto_shash_init(sdesc); rng->sdesc = sdesc; @@ -52,7 +52,7 @@ Signed-off-by: Herbert Xu if (!rng->entropy_collector) { ret = -ENOMEM; goto err; -@@ -334,7 +334,7 @@ static int __init jent_mod_init(void) +@@ -335,7 +335,7 @@ static int __init jent_mod_init(void) desc->tfm = tfm; crypto_shash_init(desc); diff --git a/target/linux/generic/backport-6.6/906-03-v6.7-crypto-jitter-Allow-configuration-of-oversampling-rate.patch b/target/linux/generic/backport-6.6/906-03-v6.7-crypto-jitter-Allow-configuration-of-oversampling-rate.patch index 856400fce95..a629b7b770c 100644 --- a/target/linux/generic/backport-6.6/906-03-v6.7-crypto-jitter-Allow-configuration-of-oversampling-rate.patch +++ b/target/linux/generic/backport-6.6/906-03-v6.7-crypto-jitter-Allow-configuration-of-oversampling-rate.patch @@ -53,7 +53,7 @@ Signed-off-by: Herbert Xu depends on CRYPTO_JITTERENTROPY --- a/crypto/jitterentropy-kcapi.c +++ b/crypto/jitterentropy-kcapi.c -@@ -256,7 +256,9 @@ static int jent_kcapi_init(struct crypto +@@ -257,7 +257,9 @@ static int jent_kcapi_init(struct crypto crypto_shash_init(sdesc); rng->sdesc = sdesc; @@ -64,7 +64,7 @@ Signed-off-by: Herbert Xu if (!rng->entropy_collector) { ret = -ENOMEM; goto err; -@@ -345,7 +347,7 @@ static int __init jent_mod_init(void) +@@ -346,7 +348,7 @@ static int __init jent_mod_init(void) desc->tfm = tfm; crypto_shash_init(desc); diff --git a/target/linux/generic/backport-6.6/906-04-v6.7-crypto-jitter-reuse-allocated-entropy-collector.patch b/target/linux/generic/backport-6.6/906-04-v6.7-crypto-jitter-reuse-allocated-entropy-collector.patch index d56f1f2449b..81f7f2fab5c 100644 --- a/target/linux/generic/backport-6.6/906-04-v6.7-crypto-jitter-reuse-allocated-entropy-collector.patch +++ b/target/linux/generic/backport-6.6/906-04-v6.7-crypto-jitter-reuse-allocated-entropy-collector.patch @@ -36,7 +36,7 @@ Signed-off-by: Herbert Xu --- a/crypto/jitterentropy-kcapi.c +++ b/crypto/jitterentropy-kcapi.c -@@ -347,7 +347,7 @@ static int __init jent_mod_init(void) +@@ -348,7 +348,7 @@ static int __init jent_mod_init(void) desc->tfm = tfm; crypto_shash_init(desc); diff --git a/target/linux/generic/hack-6.6/204-module_strip.patch b/target/linux/generic/hack-6.6/204-module_strip.patch index ccadee1e5a6..9402ecb147f 100644 --- a/target/linux/generic/hack-6.6/204-module_strip.patch +++ b/target/linux/generic/hack-6.6/204-module_strip.patch @@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau endif # MODULES --- a/kernel/module/main.c +++ b/kernel/module/main.c -@@ -997,6 +997,7 @@ size_t modinfo_attrs_count = ARRAY_SIZE( +@@ -999,6 +999,7 @@ size_t modinfo_attrs_count = ARRAY_SIZE( static const char vermagic[] = VERMAGIC_STRING; @@ -110,7 +110,7 @@ Signed-off-by: Felix Fietkau int try_to_force_load(struct module *mod, const char *reason) { #ifdef CONFIG_MODULE_FORCE_LOAD -@@ -1008,6 +1009,7 @@ int try_to_force_load(struct module *mod +@@ -1010,6 +1011,7 @@ int try_to_force_load(struct module *mod return -ENOEXEC; #endif } @@ -118,7 +118,7 @@ Signed-off-by: Felix Fietkau /* Parse tag=value strings from .modinfo section */ char *module_next_tag_pair(char *string, unsigned long *secsize) -@@ -2075,9 +2077,11 @@ static void module_augment_kernel_taints +@@ -2077,9 +2079,11 @@ static void module_augment_kernel_taints static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -131,7 +131,7 @@ Signed-off-by: Felix Fietkau if (flags & MODULE_INIT_IGNORE_VERMAGIC) modmagic = NULL; -@@ -2091,6 +2095,7 @@ static int check_modinfo(struct module * +@@ -2093,6 +2097,7 @@ static int check_modinfo(struct module * info->name, modmagic, vermagic); return -ENOEXEC; } diff --git a/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch index 30a0b86b00c..1b210ee3cc6 100644 --- a/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3628,6 +3628,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3640,6 +3640,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-6.6/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch index d0a21cd7f98..157f8f76e3e 100644 --- a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch +++ b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *, u32)); INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *, -@@ -2242,9 +2259,11 @@ static void __sk_free(struct sock *sk) +@@ -2258,9 +2275,11 @@ static void __sk_free(struct sock *sk) if (likely(sk->sk_net_refcnt)) sock_inuse_add(sock_net(sk), -1); diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch index 886111a66c5..6c41d39d401 100644 --- a/target/linux/generic/hack-6.6/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -4143,6 +4143,8 @@ static __net_initdata struct pernet_oper +@@ -4160,6 +4160,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/kernel-6.6 b/target/linux/generic/kernel-6.6 index 048ae0b42a7..8a2014fcc6d 100644 --- a/target/linux/generic/kernel-6.6 +++ b/target/linux/generic/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .102 -LINUX_KERNEL_HASH-6.6.102 = 80d2feb7334c30bacbe1e7dafa9ea415efb2c0ea4f4740ecbd1467cf5d94de5c +LINUX_VERSION-6.6 = .103 +LINUX_KERNEL_HASH-6.6.103 = d288dd38c3e62ba576ba6b3ad2a84cfba65cd43b702f6c50d1f701aee942b18e diff --git a/target/linux/generic/pending-6.6/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch b/target/linux/generic/pending-6.6/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch index 50fcdbaed81..09442a9bfc0 100644 --- a/target/linux/generic/pending-6.6/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch +++ b/target/linux/generic/pending-6.6/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau #endif /* __KERNEL__ */ /** -@@ -258,6 +260,4 @@ static inline void *offset_to_ptr(const +@@ -250,6 +252,4 @@ static inline void *offset_to_ptr(const */ #define prevent_tail_call_optimization() mb() diff --git a/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch b/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch index 7a3a0f33adb..233122d7d41 100644 --- a/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch +++ b/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch @@ -49,7 +49,7 @@ Submitted-by: Daniel Danzberger obj-$(CONFIG_MTD_SPI_NAND) += spinand.o --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c -@@ -940,6 +940,7 @@ static const struct spinand_manufacturer +@@ -943,6 +943,7 @@ static const struct spinand_manufacturer &alliancememory_spinand_manufacturer, &ato_spinand_manufacturer, &esmt_c8_spinand_manufacturer, diff --git a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch index 1d69f9f7751..126ee5e520c 100644 --- a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch +++ b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch @@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau return features; --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -2444,7 +2444,7 @@ void sk_setup_caps(struct sock *sk, stru +@@ -2461,7 +2461,7 @@ void sk_setup_caps(struct sock *sk, stru if (sk_is_tcp(sk)) sk->sk_route_caps |= NETIF_F_GSO; if (sk->sk_route_caps & NETIF_F_GSO) diff --git a/target/linux/generic/pending-6.6/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch b/target/linux/generic/pending-6.6/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch index f80a8a4d28a..e6f4d069f06 100644 --- a/target/linux/generic/pending-6.6/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch +++ b/target/linux/generic/pending-6.6/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch @@ -309,7 +309,7 @@ Signed-off-by: Felix Fietkau seq_printf(m, "%05x %s %7s", i, --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -516,24 +516,21 @@ static int +@@ -518,24 +518,21 @@ static int mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f) { struct mtk_flow_entry *entry; diff --git a/target/linux/generic/pending-6.6/790-bus-mhi-core-add-SBL-state-callback.patch b/target/linux/generic/pending-6.6/790-bus-mhi-core-add-SBL-state-callback.patch index fe0f260ae36..80d13061158 100644 --- a/target/linux/generic/pending-6.6/790-bus-mhi-core-add-SBL-state-callback.patch +++ b/target/linux/generic/pending-6.6/790-bus-mhi-core-add-SBL-state-callback.patch @@ -20,7 +20,7 @@ Signed-off-by: Robert Marko --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c -@@ -906,6 +906,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_ +@@ -916,6 +916,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_ switch (event) { case MHI_EE_SBL: st = DEV_ST_TRANSITION_SBL; diff --git a/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch b/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch index d8818369bcd..c9878e55ad2 100644 --- a/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch +++ b/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch @@ -100,7 +100,7 @@ Signed-off-by: Tim Harvey return 0; err_reset_phy: -@@ -1457,14 +1456,16 @@ static const struct imx6_pcie_drvdata dr +@@ -1458,14 +1457,16 @@ static const struct imx6_pcie_drvdata dr }, [IMX8MM] = { .variant = IMX8MM, -- 2.47.2