bnxt_en: Return -EOPNOTSUPP for ETHTOOL_GREGS on VFs.
authorVasundhara Volam <vasundhara-v.volam@broadcom.com>
Mon, 21 Sep 2020 01:08:57 +0000 (21:08 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Sep 2020 02:04:44 +0000 (19:04 -0700)
Debug firmware commands are not supported on VFs to read registers.
This patch avoids logging unnecessary access_denied error on VFs
when user calls ETHTOOL_GREGS.

By returning error in get_regs_len() method on the VF, the get_regs()
method will not be called.

Fixes: b5d600b027eb ("bnxt_en: Add support for 'ethtool -d'")
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>
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c

index 6c75101..fecdfd8 100644 (file)
@@ -1322,6 +1322,9 @@ static int bnxt_get_regs_len(struct net_device *dev)
        struct bnxt *bp = netdev_priv(dev);
        int reg_len;
 
+       if (!BNXT_PF(bp))
+               return -EOPNOTSUPP;
+
        reg_len = BNXT_PXP_REG_LEN;
 
        if (bp->fw_cap & BNXT_FW_CAP_PCIE_STATS_SUPPORTED)