Skip to content

Commit

Permalink
kernel: bump 6.6 to 6.6.55
Browse files Browse the repository at this point in the history
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.55

Added the following default ksym to target/linux/generic/config-6.6:
	CONFIG_PROC_MEM_ALWAYS_FORCE=y
	# CONFIG_PROC_MEM_FORCE_PTRACE is not set
	# CONFIG_PROC_MEM_NO_FORCE is not set

Removed upstreamed:
	generic/backport-6.6/780-23-v6.12-r8169-Fix-spelling-mistake-tx_underun-tx_underrun.patch[1]
	generic/backport-6.6/780-25-v6.12-r8169-add-tally-counter-fields-added-with-RTL8125.patch[2]
	generic/pending-6.6/684-gso-fix-gso-fraglist-segmentation-after-pull-from-fr.patch[3]
	lantiq/patches-6.6/0025-v6.12-net-ethernet-lantiq_etop-fix-memory-disclosure.patch[4]

Manually rebased:
	bcm27xx/patches-6.6/950-0086-Main-bcm2708-bcm2709-linux-port.patch
	bcm27xx/patches-6.6/950-0998-i2c-designware-Add-support-for-bus-clear-feature.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=f02fcb7283b1c25f7e3ae07d7a2c830e06eb1a62
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=1c723d785adb711496bc64c24240f952f4faaabf
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=af3122f5fdc0d00581d6e598a668df6bf54c9daa
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=e66e38d07b31e177ca430758ed97fbc79f27d966

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: openwrt#16655
Signed-off-by: Nick Hainke <vincent@systemli.org>
  • Loading branch information
graysky2 authored and PolynomialDivision committed Oct 11, 2024
1 parent 6b7d549 commit 12f12df
Show file tree
Hide file tree
Showing 45 changed files with 139 additions and 327 deletions.
4 changes: 2 additions & 2 deletions include/kernel-6.6
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .54
LINUX_KERNEL_HASH-6.6.54 = 5fae869d6a24055c16ffc2d92669e3fb2b258e34d36c850bb8cf9def417ecfa0
LINUX_VERSION-6.6 = .55
LINUX_KERNEL_HASH-6.6.55 = cb636a09575d0aa06dc586433a3081a3f39ed2a7fdaa3d927df7385c0fd1e09d
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,10 @@ board_bcm2835: Remove coherent dma pool increase - API has gone

- ret = devm_request_irq(dev, irq_of_parse_and_map(dev->of_node, 0),
+ ret = devm_request_irq(dev, platform_get_irq(pdev, 0),
bcm2835_mbox_irq, 0, dev_name(dev), mbox);
bcm2835_mbox_irq, IRQF_NO_SUSPEND, dev_name(dev),
mbox);
if (ret) {
dev_err(dev, "Failed to register a mailbox IRQ handler: %d\n",
@@ -192,7 +195,18 @@ static struct platform_driver bcm2835_mb
@@ -193,7 +196,18 @@ static struct platform_driver bcm2835_mb
},
.probe = bcm2835_mbox_probe,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17565,7 +17565,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
}
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -857,8 +857,14 @@ static int usb_audio_probe(struct usb_in
@@ -863,8 +863,14 @@ static int usb_audio_probe(struct usb_in
if (ignore_ctl_error)
chip->quirk_flags |= QUIRK_FLAG_IGNORE_CTL_ERROR;

Expand All @@ -17583,7 +17583,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
* For devices with more than one control interface, we assume the
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2191,6 +2191,8 @@ static const struct usb_audio_quirk_flag
@@ -2195,6 +2195,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_ALIGN_TRANSFER),
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
QUIRK_FLAG_ALIGN_TRANSFER),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201

@@ -1409,6 +1412,9 @@
@@ -1394,6 +1397,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>

--- a/drivers/i2c/busses/i2c-designware-core.h
+++ b/drivers/i2c/busses/i2c-designware-core.h
@@ -122,7 +122,9 @@
@@ -123,7 +123,9 @@

#define DW_IC_ERR_TX_ABRT 0x1

Expand All @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
regmap_update_bits(dev->map, DW_IC_CON, DW_IC_CON_10BITADDR_MASTER,
ic_con);

@@ -472,6 +476,14 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
@@ -500,6 +504,14 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
regmap_read(dev->map, DW_IC_RXFLR, &flr);
rx_limit = dev->rx_fifo_depth - flr;

Expand All @@ -55,7 +55,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
while (buf_len > 0 && tx_limit > 0 && rx_limit > 0) {
u32 cmd = 0;

@@ -743,7 +755,7 @@ static const struct i2c_algorithm i2c_dw
@@ -781,7 +793,7 @@ static const struct i2c_algorithm i2c_dw
};

static const struct i2c_adapter_quirks i2c_dw_quirks = {
Expand All @@ -64,7 +64,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
};

static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev)
@@ -876,7 +888,8 @@ void i2c_dw_configure_master(struct dw_i
@@ -914,7 +926,8 @@ void i2c_dw_configure_master(struct dw_i
{
struct i2c_timings *t = &dev->timings;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>

--- a/drivers/i2c/busses/i2c-designware-core.h
+++ b/drivers/i2c/busses/i2c-designware-core.h
@@ -291,6 +291,7 @@ struct dw_i2c_dev {
@@ -292,6 +292,7 @@ struct dw_i2c_dev {
u16 fp_lcnt;
u16 hs_hcnt;
u16 hs_lcnt;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
};

static int dw_reg_read(void *context, unsigned int reg, unsigned int *val)
@@ -593,8 +595,16 @@ int i2c_dw_wait_bus_not_busy(struct dw_i
@@ -607,8 +609,16 @@ int i2c_dw_wait_bus_not_busy(struct dw_i
int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev)
{
unsigned long abort_source = dev->abort_source;
Expand All @@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
if (abort_source & DW_IC_TX_ABRT_NOACK) {
for_each_set_bit(i, &abort_source, ARRAY_SIZE(abort_sources))
dev_dbg(dev->dev,
@@ -609,6 +619,8 @@ int i2c_dw_handle_tx_abort(struct dw_i2c
@@ -623,6 +633,8 @@ int i2c_dw_handle_tx_abort(struct dw_i2c
return -EAGAIN;
else if (abort_source & DW_IC_TX_ABRT_GCALL_READ)
return -EINVAL; /* wrong msgs[] data */
Expand All @@ -74,11 +74,9 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#define DW_IC_COMP_TYPE 0xfc
#define DW_IC_COMP_TYPE_VALUE 0x44570140 /* "DW" + 0x0140 */

@@ -109,13 +112,16 @@
DW_IC_INTR_RX_UNDER | \
DW_IC_INTR_RD_REQ)
@@ -111,12 +114,14 @@

+#define DW_IC_ENABLE_ENABLE BIT(0)
#define DW_IC_ENABLE_ENABLE BIT(0)
#define DW_IC_ENABLE_ABORT BIT(1)
+#define DW_IC_ENABLE_BUS_RECOVERY BIT(3)

Expand All @@ -91,15 +89,15 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>

#define DW_IC_SDA_HOLD_RX_SHIFT 16
#define DW_IC_SDA_HOLD_RX_MASK GENMASK(23, 16)
@@ -163,6 +169,7 @@
@@ -164,6 +169,7 @@
#define ABRT_SLAVE_FLUSH_TXFIFO 13
#define ABRT_SLAVE_ARBLOST 14
#define ABRT_SLAVE_RD_INTX 15
+#define ABRT_SLAVE_SDA_STUCK_AT_LOW 17

#define DW_IC_TX_ABRT_7B_ADDR_NOACK BIT(ABRT_7B_ADDR_NOACK)
#define DW_IC_TX_ABRT_10ADDR1_NOACK BIT(ABRT_10ADDR1_NOACK)
@@ -178,6 +185,7 @@
@@ -179,6 +185,7 @@
#define DW_IC_RX_ABRT_SLAVE_RD_INTX BIT(ABRT_SLAVE_RD_INTX)
#define DW_IC_RX_ABRT_SLAVE_ARBLOST BIT(ABRT_SLAVE_ARBLOST)
#define DW_IC_RX_ABRT_SLAVE_FLUSH_TXFIFO BIT(ABRT_SLAVE_FLUSH_TXFIFO)
Expand Down Expand Up @@ -135,15 +133,15 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/* Write SDA hold time if supported */
if (dev->sda_hold_time)
regmap_write(dev->map, DW_IC_SDA_HOLD, dev->sda_hold_time);
@@ -1033,6 +1045,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
@@ -1071,6 +1083,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
struct i2c_adapter *adap = &dev->adapter;
unsigned long irq_flags;
unsigned int ic_con;
+ unsigned int id_ver;
int ret;

init_completion(&dev->cmd_complete);
@@ -1068,7 +1081,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
@@ -1106,7 +1119,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
if (ret)
return ret;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>

--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4473,13 +4473,7 @@ static inline void ____napi_schedule(str
@@ -4477,13 +4477,7 @@ static inline void ____napi_schedule(str
*/
thread = READ_ONCE(napi->thread);
if (thread) {
Expand All @@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
wake_up_process(thread);
return;
}
@@ -6635,8 +6629,6 @@ static int napi_poll(struct napi_struct
@@ -6639,8 +6633,6 @@ static int napi_poll(struct napi_struct

static int napi_thread_wait(struct napi_struct *napi)
{
Expand All @@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
set_current_state(TASK_INTERRUPTIBLE);

while (!kthread_should_stop()) {
@@ -6645,15 +6637,13 @@ static int napi_thread_wait(struct napi_
@@ -6649,15 +6641,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().
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,15 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
static inline void rps_lock_irqsave(struct softnet_data *sd,
unsigned long *flags)
{
@@ -4441,6 +4467,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
@@ -4445,6 +4471,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
/*************************************************************************
* Receiver routines
*************************************************************************/
+static DEFINE_PER_CPU(struct task_struct *, backlog_napi);

int netdev_max_backlog __read_mostly = 1000;
EXPORT_SYMBOL(netdev_max_backlog);
@@ -4473,12 +4500,16 @@ static inline void ____napi_schedule(str
@@ -4477,12 +4504,16 @@ static inline void ____napi_schedule(str
*/
thread = READ_ONCE(napi->thread);
if (thread) {
Expand All @@ -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()
@@ -4724,6 +4755,11 @@ static void napi_schedule_rps(struct sof
@@ -4728,6 +4759,11 @@ static void napi_schedule_rps(struct sof

#ifdef CONFIG_RPS
if (sd != mysd) {
Expand All @@ -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;

@@ -5947,7 +5983,7 @@ static void net_rps_action_and_irq_enabl
@@ -5951,7 +5987,7 @@ static void net_rps_action_and_irq_enabl
#ifdef CONFIG_RPS
struct softnet_data *remsd = sd->rps_ipi_list;

Expand All @@ -154,7 +154,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
sd->rps_ipi_list = NULL;

local_irq_enable();
@@ -5962,7 +5998,7 @@ static void net_rps_action_and_irq_enabl
@@ -5966,7 +6002,7 @@ static void net_rps_action_and_irq_enabl
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
{
#ifdef CONFIG_RPS
Expand All @@ -163,7 +163,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
#else
return false;
#endif
@@ -6006,7 +6042,7 @@ static int process_backlog(struct napi_s
@@ -6010,7 +6046,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.
*/
Expand All @@ -172,7 +172,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
again = false;
} else {
skb_queue_splice_tail_init(&sd->input_pkt_queue,
@@ -6672,43 +6708,48 @@ static void skb_defer_free_flush(struct
@@ -6676,43 +6712,48 @@ static void skb_defer_free_flush(struct
}
}

Expand Down Expand Up @@ -250,7 +250,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
return 0;
}

@@ -11289,7 +11330,7 @@ static int dev_cpu_dead(unsigned int old
@@ -11293,7 +11334,7 @@ static int dev_cpu_dead(unsigned int old

list_del_init(&napi->poll_list);
if (napi->poll == process_backlog)
Expand All @@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
else
____napi_schedule(sd, napi);
}
@@ -11297,12 +11338,14 @@ static int dev_cpu_dead(unsigned int old
@@ -11301,12 +11342,14 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();

Expand All @@ -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))) {
@@ -11565,6 +11608,38 @@ static struct pernet_operations __net_in
@@ -11569,6 +11612,38 @@ static struct pernet_operations __net_in
*
*/

Expand Down Expand Up @@ -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.
@@ -11615,7 +11690,10 @@ static int __init net_dev_init(void)
@@ -11619,7 +11694,10 @@ static int __init net_dev_init(void)
init_gro_hash(&sd->backlog);
sd->backlog.poll = process_backlog;
sd->backlog.weight = weight_p;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
@@ -4774,6 +4774,23 @@ static void napi_schedule_rps(struct sof
@@ -4778,6 +4778,23 @@ static void napi_schedule_rps(struct sof
__napi_schedule_irqoff(&mysd->backlog);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
@@ -4779,12 +4779,12 @@ void kick_defer_list_purge(struct softne
@@ -4783,12 +4783,12 @@ void kick_defer_list_purge(struct softne
unsigned long flags;

if (use_backlog_threads()) {
Expand All @@ -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);
@@ -4846,7 +4846,7 @@ static int enqueue_to_backlog(struct sk_
@@ -4850,7 +4850,7 @@ static int enqueue_to_backlog(struct sk_
reason = SKB_DROP_REASON_NOT_SPECIFIED;
sd = &per_cpu(softnet_data, cpu);

Expand All @@ -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);
@@ -4855,7 +4855,7 @@ static int enqueue_to_backlog(struct sk_
@@ -4859,7 +4859,7 @@ static int enqueue_to_backlog(struct sk_
enqueue:
__skb_queue_tail(&sd->input_pkt_queue, skb);
input_queue_tail_incr_save(sd, qtail);
Expand All @@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
return NET_RX_SUCCESS;
}

@@ -4870,7 +4870,7 @@ enqueue:
@@ -4874,7 +4874,7 @@ enqueue:

drop:
sd->dropped++;
Expand All @@ -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);
@@ -5901,7 +5901,7 @@ static void flush_backlog(struct work_st
@@ -5905,7 +5905,7 @@ static void flush_backlog(struct work_st
local_bh_disable();
sd = this_cpu_ptr(&softnet_data);

Expand All @@ -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);
@@ -5909,7 +5909,7 @@ static void flush_backlog(struct work_st
@@ -5913,7 +5913,7 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
Expand All @@ -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) {
@@ -5927,14 +5927,14 @@ static bool flush_required(int cpu)
@@ -5931,14 +5931,14 @@ static bool flush_required(int cpu)
struct softnet_data *sd = &per_cpu(softnet_data, cpu);
bool do_flush;

Expand All @@ -144,7 +144,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>

return do_flush;
#endif
@@ -6049,7 +6049,7 @@ static int process_backlog(struct napi_s
@@ -6053,7 +6053,7 @@ static int process_backlog(struct napi_s

}

Expand All @@ -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().
@@ -6065,7 +6065,7 @@ static int process_backlog(struct napi_s
@@ -6069,7 +6069,7 @@ static int process_backlog(struct napi_s
skb_queue_splice_tail_init(&sd->input_pkt_queue,
&sd->process_queue);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}
--- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c
@@ -362,6 +362,14 @@ struct sk_buff *__udp_gso_segment(struct
@@ -380,6 +380,14 @@ struct sk_buff *__udp_gso_segment(struct
else
uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0;

Expand Down
Loading

0 comments on commit 12f12df

Please sign in to comment.