static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
{
const struct net_device_ops *ops = dev->netdev_ops;
-@@ -4254,6 +4276,21 @@ int gro_normal_batch __read_mostly = 8;
+@@ -4255,6 +4277,21 @@ int gro_normal_batch __read_mostly = 8;
static inline void ____napi_schedule(struct softnet_data *sd,
struct napi_struct *napi)
{
list_add_tail(&napi->poll_list, &sd->poll_list);
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
}
-@@ -6706,6 +6743,12 @@ void netif_napi_add(struct net_device *d
+@@ -6725,6 +6762,12 @@ void netif_napi_add(struct net_device *d
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi);
}
EXPORT_SYMBOL(netif_napi_add);
-@@ -6722,9 +6765,28 @@ void napi_disable(struct napi_struct *n)
+@@ -6741,9 +6784,28 @@ void napi_disable(struct napi_struct *n)
hrtimer_cancel(&n->timer);
clear_bit(NAPI_STATE_DISABLE, &n->state);
static void flush_gro_hash(struct napi_struct *napi)
{
int i;
-@@ -6750,6 +6812,11 @@ void __netif_napi_del(struct napi_struct
+@@ -6769,6 +6831,11 @@ void __netif_napi_del(struct napi_struct
flush_gro_hash(napi);
napi->gro_bitmask = 0;
}
EXPORT_SYMBOL(__netif_napi_del);
-@@ -6831,6 +6898,51 @@ static int napi_poll(struct napi_struct
+@@ -6850,6 +6917,51 @@ static int napi_poll(struct napi_struct
return work;
}