mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-08 21:52:09 -05:00
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 <leobrsky@proton.me> Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19898 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
cbfbac761a
commit
1c92e468d5
@ -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);
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
From 5a821e2d69e26b51b7f3740b6b0c3462b8cacaff Mon Sep 17 00:00:00 2001
|
||||
From: Michal Suchanek <msuchanek@suse.de>
|
||||
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 <msuchanek@suse.de>
|
||||
Tested-by: Amit Machhiwal <amachhiw@linux.ibm.com>
|
||||
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
|
||||
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
|
||||
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 \
|
||||
@ -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,
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- 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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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().
|
||||
*/
|
||||
|
||||
@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
#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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
/* 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 <pabeni@redhat.com>
|
||||
/*
|
||||
* 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;
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
{
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
} 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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
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 <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
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 <pabeni@redhat.com>
|
||||
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);
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- 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 <kuba@kernel.org>
|
||||
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 <kuba@kernel.org>
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- 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));
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- 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;
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
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 <davem@davemloft.net>
|
||||
/* 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 <davem@davemloft.net>
|
||||
/**
|
||||
* 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);
|
||||
|
||||
/**
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
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.
|
||||
*/
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- 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:
|
||||
|
||||
@ -177,7 +177,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
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;
|
||||
|
||||
@ -142,7 +142,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
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);
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
};
|
||||
--- 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 <pabeni@redhat.com>
|
||||
|
||||
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;
|
||||
|
||||
@ -77,7 +77,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
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 <pabeni@redhat.com>
|
||||
|
||||
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,
|
||||
|
||||
@ -328,7 +328,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
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 <kuba@kernel.org>
|
||||
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 <kuba@kernel.org>
|
||||
} 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 *
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- 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);
|
||||
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
/**
|
||||
--- 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;
|
||||
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
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);
|
||||
|
||||
|
||||
@ -63,16 +63,16 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
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 <gregkh@linuxfoundation.org>
|
||||
const struct firmware *fw;
|
||||
bool has_rom;
|
||||
int err;
|
||||
@@ -625,7 +625,41 @@ exit:
|
||||
@@ -626,7 +626,41 @@ exit:
|
||||
release_firmware(fw);
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Lee Jones <lee@kernel.org>
|
||||
|
||||
--- 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 <lee@kernel.org>
|
||||
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 <lee@kernel.org>
|
||||
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 <lee@kernel.org>
|
||||
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 <lee@kernel.org>
|
||||
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 <lee@kernel.org>
|
||||
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 <lee@kernel.org>
|
||||
&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) ||
|
||||
|
||||
@ -1,81 +0,0 @@
|
||||
From 26f732791f2bcab18f59c61915bbe35225f30136 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
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 <andrew@lunn.ch>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Link: https://lore.kernel.org/r/6dcc77ee1c9676891d6250d8994850f521426a0f.1752334655.git.daniel@makrotopia.org
|
||||
Signed-off-by: Lee Jones <lee@kernel.org>
|
||||
---
|
||||
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 */
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- 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 */
|
||||
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
|
||||
--- 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 <herbert@gondor.apana.org.au>
|
||||
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);
|
||||
|
||||
@ -53,7 +53,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
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 <herbert@gondor.apana.org.au>
|
||||
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);
|
||||
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
|
||||
--- 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);
|
||||
|
||||
@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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 <nbd@nbd.name>
|
||||
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 <nbd@nbd.name>
|
||||
|
||||
/* 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 <nbd@nbd.name>
|
||||
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;
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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);
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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);
|
||||
|
||||
|
||||
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- 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)
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#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()
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
|
||||
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,
|
||||
|
||||
@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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)
|
||||
|
||||
@ -309,7 +309,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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;
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- 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;
|
||||
|
||||
@ -100,7 +100,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
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,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user