提交 c58387ab 编写于 作者: V Vikas Gupta 提交者: David S. Miller

bnxt_en: Fix for system hang if request_irq fails

Fix bug in the error code path when bnxt_request_irq() returns failure.
bnxt_disable_napi() should not be called in this error path because
NAPI has not been enabled yet.

Fixes: c0c050c5 ("bnxt_en: New Broadcom ethernet driver.")
Signed-off-by: NVikas Gupta <vikas.gupta@broadcom.com>
Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 30f52947
...@@ -6890,7 +6890,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init) ...@@ -6890,7 +6890,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
rc = bnxt_request_irq(bp); rc = bnxt_request_irq(bp);
if (rc) { if (rc) {
netdev_err(bp->dev, "bnxt_request_irq err: %x\n", rc); netdev_err(bp->dev, "bnxt_request_irq err: %x\n", rc);
goto open_err; goto open_err_irq;
} }
} }
...@@ -6930,6 +6930,8 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init) ...@@ -6930,6 +6930,8 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
open_err: open_err:
bnxt_debug_dev_exit(bp); bnxt_debug_dev_exit(bp);
bnxt_disable_napi(bp); bnxt_disable_napi(bp);
open_err_irq:
bnxt_del_napi(bp); bnxt_del_napi(bp);
open_err_free_mem: open_err_free_mem:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册