bnx2x: fix double init check
authorChas Williams <3chas3@gmail.com>
Tue, 8 Dec 2015 14:48:24 +0000 (09:48 -0500)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 9 Dec 2015 21:02:33 +0000 (22:02 +0100)
Check sc->state to prevent double init.
If the link is up, then the driver cannot be stopped and started
successfully.  Instead of checking the link status, use the driver's
state.

Signed-off-by: Chas Williams <3chas3@gmail.com>
drivers/net/bnx2x/bnx2x.c

index 294711f..2dc2a47 100644 (file)
@@ -7430,7 +7430,7 @@ int bnx2x_init(struct bnx2x_softc *sc)
        int rc;
 
        /* Check if the driver is still running and bail out if it is. */
-       if (sc->link_vars.link_up) {
+       if (sc->state != BNX2X_STATE_CLOSED) {
                PMD_DRV_LOG(DEBUG, "Init called while driver is running!");
                rc = 0;
                goto bnx2x_init_done;