qlcnic: fix missing release in qlcnic_83xx_interrupt_test.
commit 15c973858903009e995b2037683de29dfe968621 upstream. In function qlcnic_83xx_interrupt_test(), function qlcnic_83xx_diag_alloc_res() is not handled by function qlcnic_83xx_diag_free_res() after a call of the function qlcnic_alloc_mbx_args() failed. Fix this issue by adding a jump target "fail_mbx_args", and jump to this new target when qlcnic_alloc_mbx_args() failed. Fixes: b6b4316c8b2f ("qlcnic: Handle qlcnic_alloc_mbx_args() failure") Signed-off-by: Qiushi Wu <wu000273@umn.edu> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8ef576491c
commit
0dee5beb6c
@ -3610,7 +3610,7 @@ int qlcnic_83xx_interrupt_test(struct net_device *netdev)
|
||||
ahw->diag_cnt = 0;
|
||||
ret = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_INTRPT_TEST);
|
||||
if (ret)
|
||||
goto fail_diag_irq;
|
||||
goto fail_mbx_args;
|
||||
|
||||
if (adapter->flags & QLCNIC_MSIX_ENABLED)
|
||||
intrpt_id = ahw->intr_tbl[0].id;
|
||||
@ -3640,6 +3640,8 @@ int qlcnic_83xx_interrupt_test(struct net_device *netdev)
|
||||
|
||||
done:
|
||||
qlcnic_free_mbx_args(&cmd);
|
||||
|
||||
fail_mbx_args:
|
||||
qlcnic_83xx_diag_free_res(netdev, drv_sds_rings);
|
||||
|
||||
fail_diag_irq:
|
||||
|
Loading…
x
Reference in New Issue
Block a user