]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
bnx2x: add missing napi deletion in error path
authorMichal Schmidt <mschmidt@redhat.com>
Fri, 15 Mar 2013 05:27:54 +0000 (05:27 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Mar 2013 19:17:20 +0000 (12:17 -0700)
[ Upstream commit 722c6f585088a2c392b4c5d01b87a584bb8fb73f ]

If the hardware initialization fails in bnx2x_nic_load() after adding
napi objects, they would not be deleted. A subsequent attempt to unload
the bnx2x module detects a corruption in the napi list.

Add the missing napi deletion to the error path.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c

index a5edac8df67bb44576f61a70ab4ca9e825d644e7..3a73bb95a950f47418918c911377ff7bbb022b17 100644 (file)
@@ -2523,6 +2523,7 @@ load_error2:
        bp->port.pmf = 0;
 load_error1:
        bnx2x_napi_disable(bp);
+       bnx2x_del_all_napi(bp);
        /* clear pf_load status, as it was already set */
        bnx2x_clear_pf_load(bp);
 load_error0: