be2net: use PCI MMIO read instead of config read for errors
authorSuresh Reddy <Suresh.Reddy@emulex.com>
Fri, 20 Mar 2015 10:28:25 +0000 (06:28 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2015 17:25:51 +0000 (13:25 -0400)
commit25848c9015964d9d97dffd48bbb88b75a25d0a1b
tree0e321b8836c83eb8a757bfdaabb339b1ee938318
parentc8ba4ad0b59c511578f8f706aae711f01c990794
be2net: use PCI MMIO read instead of config read for errors

When an EEH error occurs, the device/slot is disconnected. This condition
is more reliably detected (i.e., returns all ones) with an MMIO read rather
than a config read -- especially on power platforms.

Hence, this patch fixes EEH error detection by replacing config reads with
MMIO reads for reading the error registers. The error registers in
Skyhawk-R/BE2/BE3 are accessible both via the config space and the
PCICFG (BAR0) memory space.

Reported-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Suresh Reddy <Suresh.Reddy@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/emulex/benet/be_main.c