i40evf: don't use RESETTING state during reinit
authorMitch Williams <mitch.a.williams@intel.com>
Wed, 9 Apr 2014 05:59:07 +0000 (05:59 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 29 May 2014 11:53:10 +0000 (04:53 -0700)
The RESETTING state means that a Catastrophic Hardware Bad Thing is
happening and the driver need to tiptoe around and not use the admin
queue or registers or anything like that.

On the other hand, a reinit is no big deal and we can use the admin
queue, and we should. So don't set the state to RESETTING here.

This fixes a Tx hang and FW crash that happens after setting the MTU on
a VF.

Change-ID: I3e6191edbd6a93958a1f1bd1d41a5c2d17474d41
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index 23c9ff6698bcaf3e2d61ca0695fef11b39133ed8..632c2b32afa13211bc2f86befefa350658f4950b 100644 (file)
@@ -1844,8 +1844,6 @@ void i40evf_reinit_locked(struct i40evf_adapter *adapter)
 
        WARN_ON(in_interrupt());
 
-       adapter->state = __I40EVF_RESETTING;
-
        i40evf_down(adapter);
 
        /* allocate transmit descriptors */