be2net: Fix error detection logic for BE3
authorSuresh Reddy <suresh.reddy@broadcom.com>
Mon, 28 May 2018 05:26:06 +0000 (01:26 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Jun 2018 20:49:18 +0000 (22:49 +0200)
[ Upstream commit d2c2725c2cdbcc108a191f50953d31c7b6556761 ]

Check for 0xE00 (RECOVERABLE_ERR) along with ARMFW UE (0x0)
in be_detect_error() to know whether the error is valid error or not

Fixes: 673c96e5a ("be2net: Fix UE detection logic for BE3")
Signed-off-by: Suresh Reddy <suresh.reddy@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/emulex/benet/be_main.c

index 1b03c32..7e2b70c 100644 (file)
@@ -3294,7 +3294,9 @@ void be_detect_error(struct be_adapter *adapter)
                                if ((val & POST_STAGE_FAT_LOG_START)
                                     != POST_STAGE_FAT_LOG_START &&
                                    (val & POST_STAGE_ARMFW_UE)
-                                    != POST_STAGE_ARMFW_UE)
+                                    != POST_STAGE_ARMFW_UE &&
+                                   (val & POST_STAGE_RECOVERABLE_ERR)
+                                    != POST_STAGE_RECOVERABLE_ERR)
                                        return;
                        }