static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
{
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,
struct napi_struct *napi)
{
list_add_tail(&napi->poll_list, &sd->poll_list);
__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);
list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi);
}
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);
clear_bit(NAPI_STATE_DISABLE, &n->state);
static void flush_gro_hash(struct napi_struct *napi)
{
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);
napi->gro_bitmask = 0;
}
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;
}