kernel: bump 5.10 to 5.10.181
All patches automatically rebased. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
@@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.10 = .180
|
LINUX_VERSION-5.10 = .181
|
||||||
LINUX_KERNEL_HASH-5.10.180 = da839a4bf1f6c964b9bde593bd58928f106f53690ff677e226bc50cf368b0c29
|
LINUX_KERNEL_HASH-5.10.181 = ace6ceb73f5f2504bc1bcb9b8cd5b55d6ff8e90a81ee244ad2315fdd671ba4e7
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
/* Disable rate control for now */
|
/* Disable rate control for now */
|
||||||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
||||||
TDMA_FLOW_PERIOD);
|
TDMA_FLOW_PERIOD);
|
||||||
@@ -4081,9 +4081,12 @@ static int bcmgenet_probe(struct platfor
|
@@ -4082,9 +4082,12 @@ static int bcmgenet_probe(struct platfor
|
||||||
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
||||||
|
|
||||||
/* Set default coalescing parameters */
|
/* Set default coalescing parameters */
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
* @dev: the device whose endpoint is being disabled
|
* @dev: the device whose endpoint is being disabled
|
||||||
--- a/include/linux/usb.h
|
--- a/include/linux/usb.h
|
||||||
+++ b/include/linux/usb.h
|
+++ b/include/linux/usb.h
|
||||||
@@ -1843,6 +1843,8 @@ extern int usb_clear_halt(struct usb_dev
|
@@ -1848,6 +1848,8 @@ extern int usb_clear_halt(struct usb_dev
|
||||||
extern int usb_reset_configuration(struct usb_device *dev);
|
extern int usb_reset_configuration(struct usb_device *dev);
|
||||||
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
|
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
|
||||||
extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
|
extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||||||
|
|
||||||
/* Reinitialize TDMA and RDMA and SW housekeeping */
|
/* Reinitialize TDMA and RDMA and SW housekeeping */
|
||||||
ret = bcmgenet_init_dma(priv);
|
ret = bcmgenet_init_dma(priv);
|
||||||
@@ -4210,7 +4218,7 @@ static int bcmgenet_resume(struct device
|
@@ -4211,7 +4219,7 @@ static int bcmgenet_resume(struct device
|
||||||
bcmgenet_hfb_create_rxnfc_filter(priv, rule);
|
bcmgenet_hfb_create_rxnfc_filter(priv, rule);
|
||||||
|
|
||||||
/* Disable RX/TX DMA and flush TX queues */
|
/* Disable RX/TX DMA and flush TX queues */
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -6813,15 +6813,10 @@ void __netif_napi_del(struct napi_struct
|
@@ -6815,15 +6815,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
|
||||||
@@ -6841,7 +6836,7 @@ static int napi_poll(struct napi_struct
|
@@ -6843,7 +6838,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
|
||||||
@@ -6850,7 +6845,7 @@ static int napi_poll(struct napi_struct
|
@@ -6852,7 +6847,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) {
|
||||||
@@ -6868,12 +6863,29 @@ static int napi_poll(struct napi_struct
|
@@ -6870,12 +6865,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;
|
||||||
@@ -4274,6 +4296,21 @@ int gro_normal_batch __read_mostly = 8;
|
@@ -4276,6 +4298,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);
|
||||||
}
|
}
|
||||||
@@ -6766,6 +6803,12 @@ void netif_napi_add(struct net_device *d
|
@@ -6768,6 +6805,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);
|
||||||
|
|
||||||
@@ -6782,9 +6825,28 @@ void napi_disable(struct napi_struct *n)
|
@@ -6784,9 +6827,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;
|
||||||
@@ -6810,6 +6872,11 @@ void __netif_napi_del(struct napi_struct
|
@@ -6812,6 +6874,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);
|
||||||
|
|
||||||
@@ -6891,6 +6958,51 @@ static int napi_poll(struct napi_struct
|
@@ -6893,6 +6960,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
|
||||||
@@ -4300,8 +4300,9 @@ static inline void ____napi_schedule(str
|
@@ -4302,8 +4302,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);
|
||||||
@@ -6776,6 +6777,49 @@ static void init_gro_hash(struct napi_st
|
@@ -6778,6 +6779,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
|
||||||
@@ -4307,6 +4307,8 @@ static inline void ____napi_schedule(str
|
@@ -4309,6 +4309,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;
|
||||||
}
|
}
|
||||||
@@ -6568,7 +6570,8 @@ bool napi_complete_done(struct napi_stru
|
@@ -6570,7 +6572,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.
|
||||||
@@ -7004,16 +7007,25 @@ static int napi_poll(struct napi_struct
|
@@ -7006,16 +7009,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
|
||||||
@@ -7011,7 +7011,7 @@ static int napi_thread_wait(struct napi_
|
@@ -7013,7 +7013,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
|
||||||
@@ -7029,6 +7029,7 @@ static int napi_thread_wait(struct napi_
|
@@ -7031,6 +7031,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);
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
help
|
help
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -3656,6 +3656,11 @@ static int xmit_one(struct sk_buff *skb,
|
@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb,
|
||||||
if (dev_nit_active(dev))
|
if (dev_nit_active(dev))
|
||||||
dev_queue_xmit_nit(skb, dev);
|
dev_queue_xmit_nit(skb, dev);
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
@@ -2090,12 +2092,12 @@ static int packet_rcv(struct sk_buff *sk
|
@@ -2088,12 +2090,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||||
unsigned int snaplen, res;
|
unsigned int snaplen, res;
|
||||||
bool is_drop_n_account = false;
|
bool is_drop_n_account = false;
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
@@ -2221,12 +2223,12 @@ static int tpacket_rcv(struct sk_buff *s
|
@@ -2219,12 +2221,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
||||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
@@ -3342,6 +3344,7 @@ static int packet_create(struct net *net
|
@@ -3340,6 +3342,7 @@ static int packet_create(struct net *net
|
||||||
mutex_init(&po->pg_vec_lock);
|
mutex_init(&po->pg_vec_lock);
|
||||||
po->rollover = NULL;
|
po->rollover = NULL;
|
||||||
po->prot_hook.func = packet_rcv;
|
po->prot_hook.func = packet_rcv;
|
||||||
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
if (sock->type == SOCK_PACKET)
|
if (sock->type == SOCK_PACKET)
|
||||||
po->prot_hook.func = packet_rcv_spkt;
|
po->prot_hook.func = packet_rcv_spkt;
|
||||||
@@ -3982,6 +3985,16 @@ packet_setsockopt(struct socket *sock, i
|
@@ -3980,6 +3983,16 @@ packet_setsockopt(struct socket *sock, i
|
||||||
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
default:
|
default:
|
||||||
return -ENOPROTOOPT;
|
return -ENOPROTOOPT;
|
||||||
}
|
}
|
||||||
@@ -4038,6 +4051,13 @@ static int packet_getsockopt(struct sock
|
@@ -4036,6 +4049,13 @@ static int packet_getsockopt(struct sock
|
||||||
case PACKET_VNET_HDR:
|
case PACKET_VNET_HDR:
|
||||||
val = po->has_vnet_hdr;
|
val = po->has_vnet_hdr;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -6069,6 +6069,9 @@ static enum gro_result dev_gro_receive(s
|
@@ -6071,6 +6071,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;
|
||||||
|
|
||||||
@@ -8047,6 +8050,48 @@ static void __netdev_adjacent_dev_unlink
|
@@ -8049,6 +8052,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,
|
||||||
@@ -8098,6 +8143,7 @@ static int __netdev_upper_dev_link(struc
|
@@ -8100,6 +8145,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);
|
||||||
@@ -8194,6 +8240,7 @@ static void __netdev_upper_dev_unlink(st
|
@@ -8196,6 +8242,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);
|
||||||
|
|
||||||
@@ -8980,6 +9027,7 @@ int dev_set_mac_address(struct net_devic
|
@@ -8982,6 +9029,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;
|
||||||
|
|||||||
Reference in New Issue
Block a user