]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
bnxt_en: Skip reading PXP registers during ethtool -d if unsupported
authorMichael Chan <michael.chan@broadcom.com>
Tue, 17 Dec 2024 18:26:19 +0000 (10:26 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 20 Dec 2024 01:30:00 +0000 (17:30 -0800)
Newer firmware does not allow reading the PXP registers during
ethtool -d, so skip the firmware call in that case.  Userspace
(bnxt.c) always expects the register block to be populated so
zeroes will be returned instead.

Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20241217182620.2454075-6-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c

index c094abfa1ebc72609c1d807bbd5f70217f60ac7b..75a59dd72bceab4b674025fd639223a359497a2a 100644 (file)
@@ -2050,7 +2050,8 @@ static void bnxt_get_regs(struct net_device *dev, struct ethtool_regs *regs,
        int rc;
 
        regs->version = 0;
-       bnxt_dbg_hwrm_rd_reg(bp, 0, BNXT_PXP_REG_LEN / 4, _p);
+       if (!(bp->fw_dbg_cap & DBG_QCAPS_RESP_FLAGS_REG_ACCESS_RESTRICTED))
+               bnxt_dbg_hwrm_rd_reg(bp, 0, BNXT_PXP_REG_LEN / 4, _p);
 
        if (!(bp->fw_cap & BNXT_FW_CAP_PCIE_STATS_SUPPORTED))
                return;