e1000e: Acquire/release semaphore when writing each EEPROM page
authorBruce Allan <bruce.w.allan@intel.com>
Wed, 5 Dec 2012 06:25:47 +0000 (06:25 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 16 Jan 2013 05:31:41 +0000 (21:31 -0800)
commit635ab56439e21cbea6be346ac71222f9c4ac6463
treea29b0299e539fb7b6eb11d456a3b500ffe122524
parent1241f29fa3c6fa95f20e3e77452f8d6d60deae7a
e1000e: Acquire/release semaphore when writing each EEPROM page

When data blocks are written to the EEPROM, the HW/SW/FW semaphore must be
held for the duration.  With large data blocks on 80003es2lan, 82571 and
82572, this can take too long and cause the firmware to take ownership of
the semaphore and consequently ownership of writes to the EEPROM.
Instead, acquire and release the semaphore for each page of the block
written.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/nvm.c