Commit ea339343 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

be2net: do not call napi_hash_del()

Calling napi_hash_del() before netif_napi_del() is dangerous
if a synchronize_rcu() is not enforced before NAPI struct freeing.

Lets leave this detail to core networking stack and feel
more comfortable.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Cc: Sathya Perla <sathya.perla@broadcom.com>
Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
Cc: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Cc: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 963abe5c
...@@ -2813,7 +2813,6 @@ static void be_evt_queues_destroy(struct be_adapter *adapter) ...@@ -2813,7 +2813,6 @@ static void be_evt_queues_destroy(struct be_adapter *adapter)
if (eqo->q.created) { if (eqo->q.created) {
be_eq_clean(eqo); be_eq_clean(eqo);
be_cmd_q_destroy(adapter, &eqo->q, QTYPE_EQ); be_cmd_q_destroy(adapter, &eqo->q, QTYPE_EQ);
napi_hash_del(&eqo->napi);
netif_napi_del(&eqo->napi); netif_napi_del(&eqo->napi);
free_cpumask_var(eqo->affinity_mask); free_cpumask_var(eqo->affinity_mask);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment