mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00
kernel: bump 5.10 to 5.10.77 (#8167)
Signed-off-by: boos4721 <3.1415926535boos@gmail.com>
This commit is contained in:
parent
cd84bd33e1
commit
8d9e14b6ee
@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
LINUX_VERSION-5.4 = .155
|
LINUX_VERSION-5.4 = .155
|
||||||
LINUX_VERSION-5.10 = .76
|
LINUX_VERSION-5.10 = .77
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-5.4.155 = cc0c0f902748d251cb22d0e69e3b8d260c447eb0072ef853da15da6cce775038
|
LINUX_KERNEL_HASH-5.4.155 = cc0c0f902748d251cb22d0e69e3b8d260c447eb0072ef853da15da6cce775038
|
||||||
LINUX_KERNEL_HASH-5.10.76 = 480a09ba1962862ff18df9453fa0df6ba11cbe19eefedeab81bf2c84f49e1890
|
LINUX_KERNEL_HASH-5.10.77 = d3b64edfc1dd7212e62ed733aeeb73d64ffd6d9658d322d44cddf1b41d5b8fc3
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||||
|
@ -76,7 +76,7 @@ Signed-off-by: Christopher Blake <chrisrblake93@gmail.com>
|
|||||||
#endif
|
#endif
|
||||||
--- a/arch/arm/include/asm/uaccess.h
|
--- a/arch/arm/include/asm/uaccess.h
|
||||||
+++ b/arch/arm/include/asm/uaccess.h
|
+++ b/arch/arm/include/asm/uaccess.h
|
||||||
@@ -516,6 +516,9 @@ do { \
|
@@ -518,6 +518,9 @@ do { \
|
||||||
extern unsigned long __must_check
|
extern unsigned long __must_check
|
||||||
arm_copy_from_user(void *to, const void __user *from, unsigned long n);
|
arm_copy_from_user(void *to, const void __user *from, unsigned long n);
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
* non-error returns are a promise to giveback() the urb later
|
* non-error returns are a promise to giveback() the urb later
|
||||||
* we drop ownership so next owner (or urb unlink) can get it
|
* we drop ownership so next owner (or urb unlink) can get it
|
||||||
*/
|
*/
|
||||||
@@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
|
@@ -5367,6 +5464,7 @@ static const struct hc_driver xhci_hc_dr
|
||||||
.endpoint_reset = xhci_endpoint_reset,
|
.endpoint_reset = xhci_endpoint_reset,
|
||||||
.check_bandwidth = xhci_check_bandwidth,
|
.check_bandwidth = xhci_check_bandwidth,
|
||||||
.reset_bandwidth = xhci_reset_bandwidth,
|
.reset_bandwidth = xhci_reset_bandwidth,
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
#define MAX_TUNING_LOOP 40
|
#define MAX_TUNING_LOOP 40
|
||||||
|
|
||||||
@@ -3127,7 +3127,7 @@ static void sdhci_timeout_timer(struct t
|
@@ -3133,7 +3133,7 @@ static void sdhci_timeout_timer(struct t
|
||||||
spin_lock_irqsave(&host->lock, flags);
|
spin_lock_irqsave(&host->lock, flags);
|
||||||
|
|
||||||
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
|
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
|
||||||
@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
mmc_hostname(host->mmc));
|
mmc_hostname(host->mmc));
|
||||||
sdhci_dumpregs(host);
|
sdhci_dumpregs(host);
|
||||||
|
|
||||||
@@ -3149,7 +3149,7 @@ static void sdhci_timeout_data_timer(str
|
@@ -3155,7 +3155,7 @@ static void sdhci_timeout_data_timer(str
|
||||||
|
|
||||||
if (host->data || host->data_cmd ||
|
if (host->data || host->data_cmd ||
|
||||||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
|
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
|
||||||
|
@ -77,7 +77,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
aliases {
|
aliases {
|
||||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
@@ -322,7 +322,7 @@
|
@@ -323,7 +323,7 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
|
@ -277,7 +277,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||||||
&uart0 {
|
&uart0 {
|
||||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
@@ -319,6 +319,7 @@
|
@@ -320,6 +320,7 @@
|
||||||
#include "bcm2711-rpi.dtsi"
|
#include "bcm2711-rpi.dtsi"
|
||||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||||
@ -285,7 +285,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
chosen {
|
chosen {
|
||||||
@@ -585,6 +586,10 @@
|
@@ -586,6 +587,10 @@
|
||||||
pinctrl-0 = <&audio_pins>;
|
pinctrl-0 = <&audio_pins>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
@@ -354,6 +354,10 @@
|
@@ -355,6 +355,10 @@
|
||||||
i2c4 = &i2c4;
|
i2c4 = &i2c4;
|
||||||
i2c5 = &i2c5;
|
i2c5 = &i2c5;
|
||||||
i2c6 = &i2c6;
|
i2c6 = &i2c6;
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
|
|
||||||
--- a/kernel/cgroup/cgroup.c
|
--- a/kernel/cgroup/cgroup.c
|
||||||
+++ b/kernel/cgroup/cgroup.c
|
+++ b/kernel/cgroup/cgroup.c
|
||||||
@@ -5665,6 +5665,9 @@ int __init cgroup_init_early(void)
|
@@ -5667,6 +5667,9 @@ int __init cgroup_init_early(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
/**
|
/**
|
||||||
* cgroup_init - cgroup initialization
|
* cgroup_init - cgroup initialization
|
||||||
*
|
*
|
||||||
@@ -5703,6 +5706,12 @@ int __init cgroup_init(void)
|
@@ -5705,6 +5708,12 @@ int __init cgroup_init(void)
|
||||||
|
|
||||||
mutex_unlock(&cgroup_mutex);
|
mutex_unlock(&cgroup_mutex);
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
for_each_subsys(ss, ssid) {
|
for_each_subsys(ss, ssid) {
|
||||||
if (ss->early_init) {
|
if (ss->early_init) {
|
||||||
struct cgroup_subsys_state *css =
|
struct cgroup_subsys_state *css =
|
||||||
@@ -6240,6 +6249,10 @@ static int __init cgroup_disable(char *s
|
@@ -6242,6 +6251,10 @@ static int __init cgroup_disable(char *s
|
||||||
strcmp(token, ss->legacy_name))
|
strcmp(token, ss->legacy_name))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
||||||
pr_info("Disabling %s control group subsystem\n",
|
pr_info("Disabling %s control group subsystem\n",
|
||||||
ss->name);
|
ss->name);
|
||||||
@@ -6249,6 +6262,31 @@ static int __init cgroup_disable(char *s
|
@@ -6251,6 +6264,31 @@ static int __init cgroup_disable(char *s
|
||||||
}
|
}
|
||||||
__setup("cgroup_disable=", cgroup_disable);
|
__setup("cgroup_disable=", cgroup_disable);
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
@@ -349,11 +349,12 @@
|
@@ -350,11 +350,12 @@
|
||||||
mmc0 = &emmc2;
|
mmc0 = &emmc2;
|
||||||
mmc1 = &mmcnr;
|
mmc1 = &mmcnr;
|
||||||
mmc2 = &sdhost;
|
mmc2 = &sdhost;
|
||||||
@ -34,7 +34,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
spi3 = &spi3;
|
spi3 = &spi3;
|
||||||
spi4 = &spi4;
|
spi4 = &spi4;
|
||||||
spi5 = &spi5;
|
spi5 = &spi5;
|
||||||
@@ -559,13 +560,6 @@
|
@@ -560,13 +561,6 @@
|
||||||
pinctrl-0 = <&i2s_pins>;
|
pinctrl-0 = <&i2s_pins>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
|
|
||||||
--- a/drivers/usb/host/xhci-ring.c
|
--- a/drivers/usb/host/xhci-ring.c
|
||||||
+++ b/drivers/usb/host/xhci-ring.c
|
+++ b/drivers/usb/host/xhci-ring.c
|
||||||
@@ -4256,9 +4256,9 @@ void xhci_queue_new_dequeue_state(struct
|
@@ -4252,9 +4252,9 @@ void xhci_queue_new_dequeue_state(struct
|
||||||
}
|
}
|
||||||
ep = &xhci->devs[slot_id]->eps[ep_index];
|
ep = &xhci->devs[slot_id]->eps[ep_index];
|
||||||
if ((ep->ep_state & SET_DEQ_PENDING)) {
|
if ((ep->ep_state & SET_DEQ_PENDING)) {
|
||||||
|
@ -191,7 +191,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
gpios = <&virtgpio 0 0>;
|
gpios = <&virtgpio 0 0>;
|
||||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||||
@@ -579,13 +579,13 @@
|
@@ -580,13 +580,13 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&leds {
|
&leds {
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -6793,15 +6793,10 @@ void __netif_napi_del(struct napi_struct
|
@@ -6799,15 +6799,10 @@ void __netif_napi_del(struct napi_struct
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__netif_napi_del);
|
EXPORT_SYMBOL(__netif_napi_del);
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
weight = n->weight;
|
weight = n->weight;
|
||||||
|
|
||||||
/* This NAPI_STATE_SCHED test is for avoiding a race
|
/* This NAPI_STATE_SCHED test is for avoiding a race
|
||||||
@@ -6821,7 +6816,7 @@ static int napi_poll(struct napi_struct
|
@@ -6827,7 +6822,7 @@ static int napi_poll(struct napi_struct
|
||||||
n->poll, work, weight);
|
n->poll, work, weight);
|
||||||
|
|
||||||
if (likely(work < weight))
|
if (likely(work < weight))
|
||||||
@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
/* Drivers must not modify the NAPI state if they
|
/* Drivers must not modify the NAPI state if they
|
||||||
* consume the entire weight. In such cases this code
|
* consume the entire weight. In such cases this code
|
||||||
@@ -6830,7 +6825,7 @@ static int napi_poll(struct napi_struct
|
@@ -6836,7 +6831,7 @@ static int napi_poll(struct napi_struct
|
||||||
*/
|
*/
|
||||||
if (unlikely(napi_disable_pending(n))) {
|
if (unlikely(napi_disable_pending(n))) {
|
||||||
napi_complete(n);
|
napi_complete(n);
|
||||||
@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (n->gro_bitmask) {
|
if (n->gro_bitmask) {
|
||||||
@@ -6848,12 +6843,29 @@ static int napi_poll(struct napi_struct
|
@@ -6854,12 +6849,29 @@ static int napi_poll(struct napi_struct
|
||||||
if (unlikely(!list_empty(&n->poll_list))) {
|
if (unlikely(!list_empty(&n->poll_list))) {
|
||||||
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
|
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
|
||||||
n->dev ? n->dev->name : "backlog");
|
n->dev ? n->dev->name : "backlog");
|
||||||
|
@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
|
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
|
||||||
{
|
{
|
||||||
const struct net_device_ops *ops = dev->netdev_ops;
|
const struct net_device_ops *ops = dev->netdev_ops;
|
||||||
@@ -4255,6 +4277,21 @@ int gro_normal_batch __read_mostly = 8;
|
@@ -4261,6 +4283,21 @@ int gro_normal_batch __read_mostly = 8;
|
||||||
static inline void ____napi_schedule(struct softnet_data *sd,
|
static inline void ____napi_schedule(struct softnet_data *sd,
|
||||||
struct napi_struct *napi)
|
struct napi_struct *napi)
|
||||||
{
|
{
|
||||||
@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
list_add_tail(&napi->poll_list, &sd->poll_list);
|
list_add_tail(&napi->poll_list, &sd->poll_list);
|
||||||
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
|
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
|
||||||
}
|
}
|
||||||
@@ -6746,6 +6783,12 @@ void netif_napi_add(struct net_device *d
|
@@ -6752,6 +6789,12 @@ void netif_napi_add(struct net_device *d
|
||||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||||
napi_hash_add(napi);
|
napi_hash_add(napi);
|
||||||
@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(netif_napi_add);
|
EXPORT_SYMBOL(netif_napi_add);
|
||||||
|
|
||||||
@@ -6762,9 +6805,28 @@ void napi_disable(struct napi_struct *n)
|
@@ -6768,9 +6811,28 @@ void napi_disable(struct napi_struct *n)
|
||||||
hrtimer_cancel(&n->timer);
|
hrtimer_cancel(&n->timer);
|
||||||
|
|
||||||
clear_bit(NAPI_STATE_DISABLE, &n->state);
|
clear_bit(NAPI_STATE_DISABLE, &n->state);
|
||||||
@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static void flush_gro_hash(struct napi_struct *napi)
|
static void flush_gro_hash(struct napi_struct *napi)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -6790,6 +6852,11 @@ void __netif_napi_del(struct napi_struct
|
@@ -6796,6 +6858,11 @@ void __netif_napi_del(struct napi_struct
|
||||||
|
|
||||||
flush_gro_hash(napi);
|
flush_gro_hash(napi);
|
||||||
napi->gro_bitmask = 0;
|
napi->gro_bitmask = 0;
|
||||||
@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__netif_napi_del);
|
EXPORT_SYMBOL(__netif_napi_del);
|
||||||
|
|
||||||
@@ -6871,6 +6938,51 @@ static int napi_poll(struct napi_struct
|
@@ -6877,6 +6944,51 @@ static int napi_poll(struct napi_struct
|
||||||
return work;
|
return work;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
* @n: NAPI context
|
* @n: NAPI context
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -4281,8 +4281,9 @@ static inline void ____napi_schedule(str
|
@@ -4287,8 +4287,9 @@ static inline void ____napi_schedule(str
|
||||||
|
|
||||||
if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
|
if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
|
||||||
/* Paired with smp_mb__before_atomic() in
|
/* Paired with smp_mb__before_atomic() in
|
||||||
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
* wake_up_process() when it's not NULL.
|
* wake_up_process() when it's not NULL.
|
||||||
*/
|
*/
|
||||||
thread = READ_ONCE(napi->thread);
|
thread = READ_ONCE(napi->thread);
|
||||||
@@ -6756,6 +6757,49 @@ static void init_gro_hash(struct napi_st
|
@@ -6762,6 +6763,49 @@ static void init_gro_hash(struct napi_st
|
||||||
napi->gro_bitmask = 0;
|
napi->gro_bitmask = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
|||||||
enum gro_result {
|
enum gro_result {
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -4288,6 +4288,8 @@ static inline void ____napi_schedule(str
|
@@ -4294,6 +4294,8 @@ static inline void ____napi_schedule(str
|
||||||
*/
|
*/
|
||||||
thread = READ_ONCE(napi->thread);
|
thread = READ_ONCE(napi->thread);
|
||||||
if (thread) {
|
if (thread) {
|
||||||
@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
|||||||
wake_up_process(thread);
|
wake_up_process(thread);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -6548,7 +6550,8 @@ bool napi_complete_done(struct napi_stru
|
@@ -6554,7 +6556,8 @@ bool napi_complete_done(struct napi_stru
|
||||||
|
|
||||||
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
|
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
|||||||
|
|
||||||
/* If STATE_MISSED was set, leave STATE_SCHED set,
|
/* If STATE_MISSED was set, leave STATE_SCHED set,
|
||||||
* because we will call napi->poll() one more time.
|
* because we will call napi->poll() one more time.
|
||||||
@@ -6984,16 +6987,25 @@ static int napi_poll(struct napi_struct
|
@@ -6990,16 +6993,25 @@ static int napi_poll(struct napi_struct
|
||||||
|
|
||||||
static int napi_thread_wait(struct napi_struct *napi)
|
static int napi_thread_wait(struct napi_struct *napi)
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -6991,7 +6991,7 @@ static int napi_thread_wait(struct napi_
|
@@ -6997,7 +6997,7 @@ static int napi_thread_wait(struct napi_
|
||||||
|
|
||||||
set_current_state(TASK_INTERRUPTIBLE);
|
set_current_state(TASK_INTERRUPTIBLE);
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
/* Testing SCHED_THREADED bit here to make sure the current
|
/* Testing SCHED_THREADED bit here to make sure the current
|
||||||
* kthread owns this napi and could poll on this napi.
|
* kthread owns this napi and could poll on this napi.
|
||||||
* Testing SCHED bit is not enough because SCHED bit might be
|
* Testing SCHED bit is not enough because SCHED bit might be
|
||||||
@@ -7009,6 +7009,7 @@ static int napi_thread_wait(struct napi_
|
@@ -7015,6 +7015,7 @@ static int napi_thread_wait(struct napi_
|
||||||
set_current_state(TASK_INTERRUPTIBLE);
|
set_current_state(TASK_INTERRUPTIBLE);
|
||||||
}
|
}
|
||||||
__set_current_state(TASK_RUNNING);
|
__set_current_state(TASK_RUNNING);
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
struct net_bridge_port *p;
|
struct net_bridge_port *p;
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -3635,8 +3635,17 @@ static int xmit_one(struct sk_buff *skb,
|
@@ -3641,8 +3641,17 @@ static int xmit_one(struct sk_buff *skb,
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
@ -98,7 +98,7 @@
|
|||||||
|
|
||||||
len = skb->len;
|
len = skb->len;
|
||||||
PRANDOM_ADD_NOISE(skb, dev, txq, len + jiffies);
|
PRANDOM_ADD_NOISE(skb, dev, txq, len + jiffies);
|
||||||
@@ -5178,6 +5187,11 @@ void netdev_rx_handler_unregister(struct
|
@@ -5184,6 +5193,11 @@ void netdev_rx_handler_unregister(struct
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||||
|
|
||||||
@ -110,7 +110,7 @@
|
|||||||
/*
|
/*
|
||||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||||
* the special handling of PFMEMALLOC skbs.
|
* the special handling of PFMEMALLOC skbs.
|
||||||
@@ -5226,6 +5240,10 @@ static int __netif_receive_skb_core(stru
|
@@ -5232,6 +5246,10 @@ static int __netif_receive_skb_core(stru
|
||||||
int ret = NET_RX_DROP;
|
int ret = NET_RX_DROP;
|
||||||
__be16 type;
|
__be16 type;
|
||||||
|
|
||||||
@ -121,7 +121,7 @@
|
|||||||
net_timestamp_check(!netdev_tstamp_prequeue, skb);
|
net_timestamp_check(!netdev_tstamp_prequeue, skb);
|
||||||
|
|
||||||
trace_netif_receive_skb(skb);
|
trace_netif_receive_skb(skb);
|
||||||
@@ -5265,6 +5283,16 @@ another_round:
|
@@ -5271,6 +5289,16 @@ another_round:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
__u16 tc_index; /* traffic control index */
|
__u16 tc_index; /* traffic control index */
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -6050,6 +6050,9 @@ static enum gro_result dev_gro_receive(s
|
@@ -6056,6 +6056,9 @@ static enum gro_result dev_gro_receive(s
|
||||||
int same_flow;
|
int same_flow;
|
||||||
int grow;
|
int grow;
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (netif_elide_gro(skb->dev))
|
if (netif_elide_gro(skb->dev))
|
||||||
goto normal;
|
goto normal;
|
||||||
|
|
||||||
@@ -8027,6 +8030,48 @@ static void __netdev_adjacent_dev_unlink
|
@@ -8033,6 +8036,48 @@ static void __netdev_adjacent_dev_unlink
|
||||||
&upper_dev->adj_list.lower);
|
&upper_dev->adj_list.lower);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||||
struct net_device *upper_dev, bool master,
|
struct net_device *upper_dev, bool master,
|
||||||
void *upper_priv, void *upper_info,
|
void *upper_priv, void *upper_info,
|
||||||
@@ -8078,6 +8123,7 @@ static int __netdev_upper_dev_link(struc
|
@@ -8084,6 +8129,7 @@ static int __netdev_upper_dev_link(struc
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
ret = notifier_to_errno(ret);
|
ret = notifier_to_errno(ret);
|
||||||
@@ -8174,6 +8220,7 @@ static void __netdev_upper_dev_unlink(st
|
@@ -8180,6 +8226,7 @@ static void __netdev_upper_dev_unlink(st
|
||||||
|
|
||||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
|
|
||||||
@@ -8960,6 +9007,7 @@ int dev_set_mac_address(struct net_devic
|
@@ -8966,6 +9013,7 @@ int dev_set_mac_address(struct net_devic
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
dev->addr_assign_type = NET_ADDR_SET;
|
dev->addr_assign_type = NET_ADDR_SET;
|
||||||
|
@ -33,7 +33,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
|
|||||||
phy_led_trigger_change_speed(phydev);
|
phy_led_trigger_change_speed(phydev);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -618,7 +618,7 @@ int phy_start_cable_test(struct phy_devi
|
@@ -567,7 +567,7 @@ int phy_start_cable_test(struct phy_devi
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* Mark the carrier down until the test is complete */
|
/* Mark the carrier down until the test is complete */
|
||||||
@ -42,7 +42,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
|
|||||||
|
|
||||||
netif_testing_on(dev);
|
netif_testing_on(dev);
|
||||||
err = phydev->drv->cable_test_start(phydev);
|
err = phydev->drv->cable_test_start(phydev);
|
||||||
@@ -689,7 +689,7 @@ int phy_start_cable_test_tdr(struct phy_
|
@@ -638,7 +638,7 @@ int phy_start_cable_test_tdr(struct phy_
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* Mark the carrier down until the test is complete */
|
/* Mark the carrier down until the test is complete */
|
||||||
@ -51,7 +51,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
|
|||||||
|
|
||||||
netif_testing_on(dev);
|
netif_testing_on(dev);
|
||||||
err = phydev->drv->cable_test_tdr_start(phydev, config);
|
err = phydev->drv->cable_test_tdr_start(phydev, config);
|
||||||
@@ -760,7 +760,7 @@ static int phy_check_link_status(struct
|
@@ -709,7 +709,7 @@ static int phy_check_link_status(struct
|
||||||
phy_link_up(phydev);
|
phy_link_up(phydev);
|
||||||
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
|
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
|
||||||
phydev->state = PHY_NOLINK;
|
phydev->state = PHY_NOLINK;
|
||||||
@ -60,7 +60,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1164,7 +1164,7 @@ void phy_state_machine(struct work_struc
|
@@ -1186,7 +1186,7 @@ void phy_state_machine(struct work_struc
|
||||||
case PHY_HALTED:
|
case PHY_HALTED:
|
||||||
if (phydev->link) {
|
if (phydev->link) {
|
||||||
phydev->link = 0;
|
phydev->link = 0;
|
||||||
|
@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
--- a/drivers/net/phy/phy.c
|
--- a/drivers/net/phy/phy.c
|
||||||
+++ b/drivers/net/phy/phy.c
|
+++ b/drivers/net/phy/phy.c
|
||||||
@@ -760,7 +760,10 @@ static int phy_check_link_status(struct
|
@@ -709,7 +709,10 @@ static int phy_check_link_status(struct
|
||||||
phy_link_up(phydev);
|
phy_link_up(phydev);
|
||||||
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
|
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
|
||||||
phydev->state = PHY_NOLINK;
|
phydev->state = PHY_NOLINK;
|
||||||
@ -23,7 +23,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1164,7 +1167,10 @@ void phy_state_machine(struct work_struc
|
@@ -1186,7 +1189,10 @@ void phy_state_machine(struct work_struc
|
||||||
case PHY_HALTED:
|
case PHY_HALTED:
|
||||||
if (phydev->link) {
|
if (phydev->link) {
|
||||||
phydev->link = 0;
|
phydev->link = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user