-LINUX_VERSION-6.1 = .59
-LINUX_KERNEL_HASH-6.1.59 = 627f7724c675036639290fb5c39e3fdeb3d566b80b192c45f4a808ab54c8c0a0
+LINUX_VERSION-6.1 = .60
+LINUX_KERNEL_HASH-6.1.60 = 58520e7ae5a6af254ddf7ddbfc42e4373b0d36c67d467f6e35a3bd1672f5fb0a
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -872,6 +872,17 @@ source "drivers/leds/flash/Kconfig"
+@@ -873,6 +873,17 @@ source "drivers/leds/flash/Kconfig"
comment "RGB LED drivers"
source "drivers/leds/rgb/Kconfig"
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
-@@ -1488,8 +1488,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1494,8 +1494,8 @@ struct sk_buff *inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out;
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1516,10 +1516,14 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1522,10 +1522,14 @@ static int bcm_sf2_sw_probe(struct platf
rev = reg_readl(priv, REG_PHY_REVISION);
priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK;
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1530,6 +1530,12 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1536,6 +1536,12 @@ static int bcm_sf2_sw_probe(struct platf
priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
priv->irq0, priv->irq1);
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -281,6 +281,15 @@ config LEDS_COBALT_RAQ
+@@ -282,6 +282,15 @@ config LEDS_COBALT_RAQ
help
This option enables support for the Cobalt Raq series LEDs.
/* Specifies the type of the struct net_device::ml_priv pointer */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -1163,22 +1163,6 @@ int dev_change_name(struct net_device *d
+@@ -1188,22 +1188,6 @@ int dev_change_name(struct net_device *d
net = dev_net(dev);
down_write(&devnet_rename_sem);
if (strncmp(newname, dev->name, IFNAMSIZ) == 0) {
-@@ -1195,7 +1179,8 @@ int dev_change_name(struct net_device *d
+@@ -1220,7 +1204,8 @@ int dev_change_name(struct net_device *d
}
if (oldname[0] && !strchr(oldname, '%'))
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -146,9 +146,9 @@ endif # RTL8366_SMI
+@@ -72,9 +72,9 @@ config SFP
comment "MII PHY device drivers"
config AMD_PHY
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3579,6 +3579,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3604,6 +3604,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -244,6 +244,8 @@ static void option_instat_callback(struc
+@@ -247,6 +247,8 @@ static void option_instat_callback(struc
#define UBLOX_PRODUCT_R410M 0x90b2
/* These Yuga products use Qualcomm's vendor ID */
#define YUGA_PRODUCT_CLM920_NC5 0x9625
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
-@@ -1180,6 +1182,11 @@ static const struct usb_device_id option
+@@ -1185,6 +1187,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -3032,11 +3032,13 @@ static const struct seq_operations fib_r
+@@ -3036,11 +3036,13 @@ static const struct seq_operations fib_r
int __net_init fib_proc_init(struct net *net)
{
fib_triestat_seq_show, NULL))
goto out2;
-@@ -3047,17 +3049,21 @@ int __net_init fib_proc_init(struct net
+@@ -3051,17 +3053,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:
static int absolute_percpu;
static int base_relative;
static int lto_clang;
-@@ -605,6 +606,9 @@ static void write_src(void)
- printf("\t.long\t%u\n", table[i]->seq);
+@@ -608,6 +609,9 @@ static void write_src(void)
+ (unsigned char)(table[i]->seq >> 0));
printf("\n");
+ if (uncompressed)
output_label("kallsyms_token_table");
off = 0;
for (i = 0; i < 256; i++) {
-@@ -656,6 +660,9 @@ static unsigned char *find_token(unsigne
+@@ -659,6 +663,9 @@ static unsigned char *find_token(unsigne
{
int i;
for (i = 0; i < len - 1; i++) {
if (str[i] == token[0] && str[i+1] == token[1])
return &str[i];
-@@ -728,6 +735,9 @@ static void optimize_result(void)
+@@ -731,6 +738,9 @@ static void optimize_result(void)
{
int i, best;
/* using the '\0' symbol last allows compress_symbols to use standard
* fast string functions */
for (i = 255; i >= 0; i--) {
-@@ -889,6 +899,7 @@ int main(int argc, char **argv)
+@@ -892,6 +902,7 @@ int main(int argc, char **argv)
{"absolute-percpu", no_argument, &absolute_percpu, 1},
{"base-relative", no_argument, &base_relative, 1},
{"lto-clang", no_argument, <o_clang, 1},
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2779,6 +2779,7 @@ static const char *const rtn_type_names[
+@@ -2783,6 +2783,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -7597,6 +7597,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7622,6 +7622,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -7648,6 +7690,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7673,6 +7715,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -7744,6 +7787,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -7769,6 +7812,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8796,6 +8840,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8821,6 +8865,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
#endif
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4597,7 +4597,7 @@ static int napi_schedule_rps(struct soft
+@@ -4622,7 +4622,7 @@ static int napi_schedule_rps(struct soft
struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
#ifdef CONFIG_RPS
sd->rps_ipi_next = mysd->rps_ipi_list;
mysd->rps_ipi_list = sd;
-@@ -5778,6 +5778,8 @@ static DEFINE_PER_CPU(struct work_struct
+@@ -5803,6 +5803,8 @@ static DEFINE_PER_CPU(struct work_struct
/* Network device is going away, flush any packets still pending */
static void flush_backlog(struct work_struct *work)
{
struct sk_buff *skb, *tmp;
struct softnet_data *sd;
-@@ -5792,8 +5794,17 @@ static void flush_backlog(struct work_st
+@@ -5817,8 +5819,17 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->process_queue);
-@@ -5801,7 +5812,16 @@ static void flush_backlog(struct work_st
+@@ -5826,7 +5837,16 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
}
static bool flush_required(int cpu)
-@@ -5933,6 +5953,7 @@ static int process_backlog(struct napi_s
+@@ -5958,6 +5978,7 @@ static int process_backlog(struct napi_s
}
rps_lock_irq_disable(sd);
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
* Inline a custom version of __napi_complete().
-@@ -5942,7 +5963,8 @@ static int process_backlog(struct napi_s
+@@ -5967,7 +5988,8 @@ 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.
*/
again = false;
} else {
skb_queue_splice_tail_init(&sd->input_pkt_queue,
-@@ -6358,6 +6380,55 @@ int dev_set_threaded(struct net_device *
+@@ -6383,6 +6405,55 @@ int dev_set_threaded(struct net_device *
}
EXPORT_SYMBOL(dev_set_threaded);
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
-@@ -11130,6 +11201,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11165,6 +11236,9 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
oldsd->rps_ipi_list = NULL;
-@@ -11433,6 +11507,7 @@ static int __init net_dev_init(void)
+@@ -11468,6 +11542,7 @@ static int __init net_dev_init(void)
INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
spin_lock_init(&sd->defer_lock);
/**
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6566,7 +6566,7 @@ static int __napi_poll(struct napi_struc
+@@ -6591,7 +6591,7 @@ static int __napi_poll(struct napi_struc
* accidentally calling ->poll() when NAPI is not scheduled.
*/
work = 0;