Skip to content

Commit 8cec094

Browse files
Edwin Peerdavem330
authored andcommitted
bnxt_en: Improve kernel log messages related to ethtool reset.
Kernel log messages for failed AP reset commands should be suppressed. These are expected to fail on devices that do not have an AP. Add missing driver reload message after AP reset and log it in a common way without duplication. Signed-off-by: Edwin Peer <edwin.peer@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 7a13240 commit 8cec094

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1762,9 +1762,14 @@ static int bnxt_hwrm_firmware_reset(struct net_device *dev, u8 proc_type,
17621762
req.selfrst_status = self_reset;
17631763
req.flags = flags;
17641764

1765-
rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
1766-
if (rc == -EACCES)
1767-
bnxt_print_admin_err(bp);
1765+
if (proc_type == FW_RESET_REQ_EMBEDDED_PROC_TYPE_AP) {
1766+
rc = hwrm_send_message_silent(bp, &req, sizeof(req),
1767+
HWRM_CMD_TIMEOUT);
1768+
} else {
1769+
rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
1770+
if (rc == -EACCES)
1771+
bnxt_print_admin_err(bp);
1772+
}
17681773
return rc;
17691774
}
17701775

@@ -2999,6 +3004,7 @@ static void bnxt_self_test(struct net_device *dev, struct ethtool_test *etest,
29993004
static int bnxt_reset(struct net_device *dev, u32 *flags)
30003005
{
30013006
struct bnxt *bp = netdev_priv(dev);
3007+
bool reload = false;
30023008
u32 req = *flags;
30033009

30043010
if (!req)
@@ -3022,7 +3028,7 @@ static int bnxt_reset(struct net_device *dev, u32 *flags)
30223028
if (!bnxt_firmware_reset_chip(dev)) {
30233029
netdev_info(dev, "Firmware reset request successful.\n");
30243030
if (!(bp->fw_cap & BNXT_FW_CAP_HOT_RESET))
3025-
netdev_info(dev, "Reload driver to complete reset\n");
3031+
reload = true;
30263032
*flags &= ~BNXT_FW_RESET_CHIP;
30273033
}
30283034
} else if (req == BNXT_FW_RESET_CHIP) {
@@ -3035,13 +3041,17 @@ static int bnxt_reset(struct net_device *dev, u32 *flags)
30353041
if (bp->hwrm_spec_code >= 0x10803) {
30363042
if (!bnxt_firmware_reset_ap(dev)) {
30373043
netdev_info(dev, "Reset application processor successful.\n");
3044+
reload = true;
30383045
*flags &= ~BNXT_FW_RESET_AP;
30393046
}
30403047
} else if (req == BNXT_FW_RESET_AP) {
30413048
return -EOPNOTSUPP; /* only request, fail hard */
30423049
}
30433050
}
30443051

3052+
if (reload)
3053+
netdev_info(dev, "Reload driver to complete reset\n");
3054+
30453055
return 0;
30463056
}
30473057

0 commit comments

Comments
 (0)