]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
qlcnic: fix a loop exit condition better
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 24 Dec 2015 09:21:22 +0000 (12:21 +0300)
committerLuis Henriques <luis.henriques@canonical.com>
Mon, 25 Jan 2016 10:44:01 +0000 (10:44 +0000)
commit 3358a5c0c1578fa215f90a0e750579cd6258ddd9 upstream.

In the original code, if we succeeded on the last iteration through the
loop then we still returned failure.

Fixes: 389e4e04ad2d ('qlcnic: fix a timeout loop')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c

index b1a452f291ee229866aae5d051385272e17e40dc..34906750b7e7091f5af122be88c659fd1c77f2e1 100644 (file)
@@ -252,7 +252,7 @@ int qlcnic_83xx_check_vnic_state(struct qlcnic_adapter *adapter)
                state = QLCRDX(ahw, QLC_83XX_VNIC_STATE);
        }
 
-       if (!idc->vnic_wait_limit) {
+       if (state != QLCNIC_DEV_NPAR_OPER) {
                dev_err(&adapter->pdev->dev,
                        "vNIC mode not operational, state check timed out.\n");
                return -EIO;