From: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date: Sun, 8 Mar 2020 18:45:53 -0400
Subject: bnxt_en: Return -EAGAIN if fw command returns BUSY
Patch-mainline: v5.7-rc1
Git-commit: 3a707bed13b77dd7773867bee156164d730c24e0
References: jsc#SLE-15075
If firmware command returns error code as HWRM_ERR_CODE_BUSY, which
means it cannot handle the command due to a conflicting command
from another function, convert it to -EAGAIN. If it is an ethtool
operation, this error code will be returned to userspace.
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -4165,6 +4165,7 @@ static int bnxt_hwrm_to_stderr(u32 hwrm_
case HWRM_ERR_CODE_NO_BUFFER:
return -ENOMEM;
case HWRM_ERR_CODE_HOT_RESET_PROGRESS:
+ case HWRM_ERR_CODE_BUSY:
return -EAGAIN;
case HWRM_ERR_CODE_CMD_NOT_SUPPORTED:
return -EOPNOTSUPP;