summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
diff options
context:
space:
mode:
authorMark Rustad2015-08-09 01:18:59 +0200
committerJeff Kirsher2015-09-24 07:48:10 +0200
commit5967fe225686bcae17352de172573964a15b17d5 (patch)
tree52a2ebf4d374a712cd5e02bb99fbe408a9df77cb /drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
parentixgbe: Add I2C bus mux support (diff)
downloadkernel-qcow2-linux-5967fe225686bcae17352de172573964a15b17d5.tar.gz
kernel-qcow2-linux-5967fe225686bcae17352de172573964a15b17d5.tar.xz
kernel-qcow2-linux-5967fe225686bcae17352de172573964a15b17d5.zip
ixgbe: Correct error path in semaphore handling
The timeout path is supposed to release the semaphore, so do that. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c')
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
index ccf853f7b73e..c1d4584f6469 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
@@ -711,6 +711,11 @@ static s32 ixgbe_get_swfw_sync_semaphore(struct ixgbe_hw *hw)
usleep_range(50, 100);
}
+ /* Release semaphores and return error if SW NVM semaphore
+ * was not granted because we do not have access to the EEPROM
+ */
+ hw_dbg(hw, "REGSMP Software NVM semaphore not granted\n");
+ ixgbe_release_swfw_sync_semaphore(hw);
return IXGBE_ERR_EEPROM;
}