ixgbe: fix race when setting advertised speed
authorEmil Tantilov <emil.s.tantilov@intel.com>
Tue, 28 Oct 2014 05:50:03 +0000 (05:50 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 30 Oct 2014 12:12:07 +0000 (05:12 -0700)
commite3215f0ac77ec23b052cb0bf511143038ac2ad7b
treee18762fba9a392f3127eaadc7a8200b2e5fdbeec
parent4d2fcfbcf8141cdf70245a0c0612b8076f4b7e32
ixgbe: fix race when setting advertised speed

Following commands:

modprobe ixgbe
ifconfig ethX up
ethtool -s ethX advertise 0x020

can lead to "setup link failed with code -14" error due to the setup_link
call racing with the SFP detection routine in the watchdog.

This patch resolves this issue by protecting the setup_link call with check
for __IXGBE_IN_SFP_INIT.

Reported-by: Scott Harrison <scoharr2@cisco.com>
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c