1. 21 4月, 2016 4 次提交
    • J
      fm10k: do not disable PCI device in fm10k_io_error_detected · 3417415c
      Jacob Keller 提交于
      fm10k_io_error_detected() does not need to call pci_disable_device(). In
      the cases where the reset needs to occur, the stack flow will result in
      calling fm10k_remove() which already disables the PCI device. If we
      leave the pci_disable_device(), we result in a warning about disabling
      an already disabled device.
      
      Many PCI drivers do call pci_disable_device() in their .error_detected()
      routines, but it does not appear to be required. In addition, these
      drivers have a check "is_pci_enabled()" call in their remove routines,
      which is how they chose to handle the duplicate device disable.
      
      This seems incorrect, since the PCI device structure is reference
      counted. It is very possible that the reference count for the PCI device
      could be greater than 1. In this case, you would remove the PCI device
      within the error_detected routine, reducing count to 1, then remove it
      again in the remove function, reducing it to zero. This would result in
      yet another disable somewhere else failing. Thus, we shouldn't be using
      is_pci_enabled() to check for this issue. Instead, just remove the
      extraneous pci_device_disable() found within the error_detected routine.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NKrishneil Singh <Krishneil.k.singh@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3417415c
    • J
      fm10k: correctly handle LPORT_MAP error · a7a7783a
      Jacob Keller 提交于
      Currently, any error responses from the switch manager after an
      LPORT_MAP request are silently ignored. At most the mailbox message will
      be reported as an error. This can result in unexpected behavior when the
      switch manager has configured a port with zero bandwidth. Add support
      for reading the fm10k_swapi_error structure from LPORT_MAP responses.
      
      If the message contains the necessary TLV and has a non-zero error code,
      report link down, clear the dglort_map, and delay the next
      get_host_state call by a reasonable delay. Also log an error message
      indicating that the LPORT_MAP request failed.
      
      The delay ensures preventing an interrupt storm on the switch manager,
      and reduces the number of mailbox messages we send in this scenario
      drastically.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NKrishneil Singh <Krishneil.k.singh@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      a7a7783a
    • J
      fm10k: drop 1588 support · 9de6a1a6
      Jacob Keller 提交于
      The 1588 support within fm10k does not work correctly with the current
      version of the switch management software, and likely never worked
      correctly to begin with. Remove support for PTP/1588. Update copyright
      year for all these files while we're touching them.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NKrishneil Singh <Krishneil.k.singh@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9de6a1a6
    • J
      fm10k: prevent RCU issues during AER events · 1e4c32f3
      Jacob Keller 提交于
      During an AER action response, we were calling fm10k_close without
      holding the rtnl_lock() which could lead to possible RCU warnings being
      produced due to 64bit stat updates among other causes. Similarly, we
      need rtnl_lock() around fm10k_open during fm10k_io_resume. Follow the
      same pattern elsewhere in the driver and protect the entire open/close
      sequence.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NKrishneil Singh <Krishneil.k.singh@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      1e4c32f3
  2. 06 4月, 2016 9 次提交
  3. 22 12月, 2015 3 次提交
  4. 14 12月, 2015 6 次提交
  5. 06 12月, 2015 6 次提交
  6. 26 11月, 2015 1 次提交
  7. 23 9月, 2015 2 次提交
  8. 16 9月, 2015 6 次提交
  9. 18 6月, 2015 3 次提交