1. 01 7月, 2014 1 次提交
    • M
      i40evf: set flags before sending message · fc86a970
      Mitch Williams 提交于
      In some circumstances, the firmware could beat us to the punch, and the
      reply from the PF would come back before we were able to properly modify
      the aq_pending and aq_required flags. This would mess up the flags and
      put the driver in an indeterminate state, much like Schrödinger's cat.
      However, unlike the cat, the driver is definitely dead.
      
      To fix this, simply set the flags before sending the request to the AQ.
      This way, it won't matter if the interrupt comes back too soon.
      
      Change-ID: I9784655e475675ebcb3140cc7f36f4a96aaadce5
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fc86a970
  2. 26 6月, 2014 1 次提交
    • M
      i40evf: return more useful error information · 6a8e93db
      Mitch Williams 提交于
      When verifying the API version (which is the first time the driver
      communicates with the firmware and thus the PF driver), there are many
      ways in which a failure can occur. There may be an error from the
      firmware, there may be unresponsive firmware, there may be an error from
      the PF driver, etc, etc.
      
      Make this function return more useful information, instead of just -EIO.
      Propagate FW errors back to the caller, and log a message if the PF
      sends an invalid reply.
      
      Change-ID: I3e9135a2b80f7acdb855f62f12b2b2668c9a8951
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      6a8e93db
  3. 11 6月, 2014 2 次提交
  4. 08 6月, 2014 2 次提交
  5. 05 6月, 2014 1 次提交
  6. 21 5月, 2014 1 次提交
  7. 22 2月, 2014 1 次提交
  8. 14 2月, 2014 1 次提交
    • M
      i40evf: refactor reset handling · ef8693eb
      Mitch Williams 提交于
      Respond better to a VF reset event. When a reset is signaled by the
      PF, or detected by the watchdog task, prevent the watchdog from
      processing admin queue requests, and schedule the reset task.
      
      In the reset task, wait first for the reset to start, then for it to
      complete, then reinit the driver.
      
      If the reset never appears to complete after a long, long time (>10
      seconds is possible depending on what's going on with the PF driver),
      then set a flag to indicate that PF communications have failed.
      
      If this flag is set, check for the reset to complete in the watchdog,
      and  attempt to do a full reinitialization of the driver from scratch.
      
      With these changes the VF driver correctly handles a PF reset event
      while running on bare metal, or in a VM.
      
      Also update copyrights.
      
      Change-ID: I93513efd0b50523a8345e7f6a33a5e4f8a2a5996
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NSibai Li <sibai.li@intel.com>
      Signed-off-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ef8693eb
  9. 01 1月, 2014 1 次提交