linux/drivers/net/ethernet/intel
Emil Tantilov 3dcc2f4142 ixgbe: fix semaphore lock for I2C read/writes on 82598
ixgbe_read/write_i2c_phy_82598() does not hold the SWFW_SYNC
semaphore for the entire function. Instead the lock is held only
during the phy.ops.read/write_reg operations. As result when the
function is being called simultaneously the I2C read/writes can
be corrupted.

The following patch introduces the SWFW_SYNC semaphore for the
entire ixgbe_read/write_i2c_phy_82598() function. To accomplish
this I had to create 2 separate functions:

ixgbe_read_phy_reg_mdi()
ixgbe_write_phy_reg_mdi()

Those functions are identical to ixgbe_read/write_phy_reg_generic()
sans the locking, and can be used in ixgbe_read/write_i2c_phy_82598()
with the SWFW_SYNC semaphore being held.

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>
2013-07-30 17:50:01 -07:00
..
e1000 net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
e1000e e1000e: fix I217/I218 PHY initialization flow 2013-07-28 04:02:05 -07:00
igb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-07-09 18:24:39 -07:00
igbvf net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
ixgb net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
ixgbe ixgbe: fix semaphore lock for I2C read/writes on 82598 2013-07-30 17:50:01 -07:00
ixgbevf net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
e100.c e100: dump small buffers via %*ph 2013-07-28 02:06:38 -07:00
Kconfig net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
Makefile