alx: fix error handling in __alx_open
In commit9ee7b683ea
we moved the enablement of msi interrupts earlier in alx_init_intr. If there is an error in alx_alloc_rings, __alx_open returns with an error but msi (or msi-x) interrupts stays enabled. Add a new error label to disable msi (or msi-x) interrupts. Fixes:9ee7b683ea
("alx: refactor msi enablement and disablement") Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
5400e54add
commit
0ca4e20ba3
@@ -1028,7 +1028,7 @@ static int __alx_open(struct alx_priv *alx, bool resume)
|
|||||||
|
|
||||||
err = alx_alloc_rings(alx);
|
err = alx_alloc_rings(alx);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
goto out_disable_adv_intr;
|
||||||
|
|
||||||
alx_configure(alx);
|
alx_configure(alx);
|
||||||
|
|
||||||
@@ -1049,6 +1049,8 @@ static int __alx_open(struct alx_priv *alx, bool resume)
|
|||||||
|
|
||||||
out_free_rings:
|
out_free_rings:
|
||||||
alx_free_rings(alx);
|
alx_free_rings(alx);
|
||||||
|
out_disable_adv_intr:
|
||||||
|
alx_disable_advanced_intr(alx);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user