bnxt_en: return proper error when FW returns HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED
authorVasundhara Volam <vasundhara-v.volam@broadcom.com>
Thu, 4 Oct 2018 05:43:48 +0000 (11:13 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Oct 2018 20:49:43 +0000 (13:49 -0700)
Return proper error code when Firmware returns
HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED for HWRM_NVM_GET/SET_VARIABLE
commands.

Cc: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c

index 5173881..dc566fd 100644 (file)
@@ -80,8 +80,12 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
                memcpy(buf, data_addr, bytesize);
 
        dma_free_coherent(&bp->pdev->dev, bytesize, data_addr, data_dma_addr);
-       if (rc)
+       if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) {
+               netdev_err(bp->dev, "PF does not have admin privileges to modify NVM config\n");
+               return -EACCES;
+       } else if (rc) {
                return -EIO;
+       }
        return 0;
 }