diff options
author | Ajit Khaparde <ajit.khaparde@emulex.com> | 2012-10-08 18:18:21 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-10-09 13:54:59 -0400 |
commit | 1451ae6ef8bff77007338b2870bb3de2658afff8 (patch) | |
tree | 88157616249b63e52650349325b9884ac740543d | |
parent | 0f796579848f284705cef8c9348f8178b37e1abe (diff) | |
download | linux-stable-1451ae6ef8bff77007338b2870bb3de2658afff8.tar.gz linux-stable-1451ae6ef8bff77007338b2870bb3de2658afff8.tar.bz2 linux-stable-1451ae6ef8bff77007338b2870bb3de2658afff8.zip |
be2net: Remove code that stops further access to BE NIC based on UE bits
On certain platforms, BE hardware could falsely indicate UE.
For BE family of NICs, do not set hw_error based on the UE bits.
If there was a real fatal error, the corresponding h/w block will
automatically go offline and stop traffic.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index eb3f2cb3b93b..d1b6cc587639 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -2129,8 +2129,11 @@ void be_detect_error(struct be_adapter *adapter) ue_hi = (ue_hi & ~ue_hi_mask); } - if (ue_lo || ue_hi || - sliport_status & SLIPORT_STATUS_ERR_MASK) { + /* On certain platforms BE hardware can indicate spurious UEs. + * Allow the h/w to stop working completely in case of a real UE. + * Hence not setting the hw_error for UE detection. + */ + if (sliport_status & SLIPORT_STATUS_ERR_MASK) { adapter->hw_error = true; dev_err(&adapter->pdev->dev, "Error detected in the card\n"); |