summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorYevgeny Petrilin <yevgenyp@mellanox.co.il>2009-05-18 05:48:59 +0200
committerDavid S. Miller <davem@davemloft.net>2009-05-18 05:48:59 +0200
commit72876a603422d3767273ffb3918033fa1bfda0f3 (patch)
treed2c5f49696575f568dcdbf239e5a11b377fa5a81 /drivers/net
parentipconfig: handle case of delayed DHCP server (diff)
downloadlinux-72876a603422d3767273ffb3918033fa1bfda0f3.tar.xz
linux-72876a603422d3767273ffb3918033fa1bfda0f3.zip
mlx4_en: Fix not deleted napi structures
Napi structures are being created each time we open a port, but when the port is closed the napi structure is only disabled but not removed. This bug caused hang while removing the driver. Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/mlx4/en_cq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/mlx4/en_cq.c b/drivers/net/mlx4/en_cq.c
index 91f50de84be9..a276125b709b 100644
--- a/drivers/net/mlx4/en_cq.c
+++ b/drivers/net/mlx4/en_cq.c
@@ -125,8 +125,10 @@ void mlx4_en_deactivate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
if (cq->is_tx)
del_timer(&cq->timer);
- else
+ else {
napi_disable(&cq->napi);
+ netif_napi_del(&cq->napi);
+ }
mlx4_cq_free(mdev->dev, &cq->mcq);
}