e1000e: 82574 intermittently fails to initialize with manageability f/w
authorBruce Allan <bruce.w.allan@intel.com>
Wed, 17 Nov 2010 03:50:14 +0000 (19:50 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 17 Nov 2010 03:50:14 +0000 (19:50 -0800)
commit1b98c2bb63a4b415d8d894d001b6d0256409e0d9
tree820d02cb7aea80c034d3b85fe5fc15eba2cf572a
parentd478eb44f7a6b53256ae399fa7e597525b4034ee
e1000e: 82574 intermittently fails to initialize with manageability f/w

The driver can fail initializing the hardware when manageability firmware
is performing concurrent MDIO operations because the hardware semaphore
scheme to prevent concurrent operations between software and firmware is
incorrect for 82574/82583.  Instead of using the SWSM register, the driver
should be using the EXTCNF_CTRL register.  A software mutex is also added
to prevent simultaneous software threads from performing similar concurrent
accesses.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/e1000e/82571.c