summaryrefslogtreecommitdiffstats
path: root/drivers/video/pm3fb.c
diff options
context:
space:
mode:
authorEmil Tantilov <emil.s.tantilov@intel.com>2013-05-29 06:23:05 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2013-07-30 17:50:01 -0700
commit3dcc2f4142610cc7212a757348d45f1e815927c9 (patch)
tree5d3708afec6dcd91ebe98c1857aa17c48b8be594 /drivers/video/pm3fb.c
parent93ac03be0d5981ecb36292cd956b90ade44f8bd6 (diff)
downloadblackbird-op-linux-3dcc2f4142610cc7212a757348d45f1e815927c9.tar.gz
blackbird-op-linux-3dcc2f4142610cc7212a757348d45f1e815927c9.zip
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>
Diffstat (limited to 'drivers/video/pm3fb.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud