From: Eric Dumazet Date: Wed, 16 Nov 2016 14:12:42 +0000 (-0800) Subject: be2net: do not call napi_hash_del() X-Git-Tag: v4.1.12-98.0.20170517_2143~42^2~13 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=99cbba6277ecbedad803199efa189847dab8a21b;p=users%2Fjedix%2Flinux-maple.git be2net: do not call napi_hash_del() Orabug: 25570957 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: Eric Dumazet Cc: Sathya Perla Cc: Ajit Khaparde Cc: Sriharsha Basavapatna Cc: Somnath Kotur Signed-off-by: David S. Miller (cherry picked from commit ea339343d64a14594d882ccb52e8619d42defe5e) Signed-off-by: Brian Maly Signed-off-by: Dhaval Giani --- diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index f5e9e22a2cf5f..fb7e64b8d854a 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -2700,7 +2700,6 @@ static void be_evt_queues_destroy(struct be_adapter *adapter) if (eqo->q.created) { be_eq_clean(eqo); be_cmd_q_destroy(adapter, &eqo->q, QTYPE_EQ); - napi_hash_del(&eqo->napi); netif_napi_del(&eqo->napi); free_cpumask_var(eqo->affinity_mask); }