Skip to content

Commit 3460eb7

Browse files
committed
bnxt_en: Skip PHY loopback ethtool selftest if unsupported by FW
jira LE-3822 Rebuild_History Non-Buildable kernel-6.12.0-55.27.1.el10_0 commit-author Michael Chan <michael.chan@broadcom.com> commit 36d1e70 Skip PHY loopback selftest if firmware advertises that it is unsupported in the HWRM_PORT_PHY_QCAPS call. Only show PHY loopback test result to be 0 if the test has run and passes. Do the same for external loopback to be consistent. Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Link: https://patch.msgid.link/20241217182620.2454075-4-michael.chan@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> (cherry picked from commit 36d1e70) Signed-off-by: Jonathan Maple <jmaple@ciq.com>
1 parent 487af0f commit 3460eb7

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

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

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4909,20 +4909,26 @@ static void bnxt_self_test(struct net_device *dev, struct ethtool_test *etest,
49094909
buf[BNXT_MACLPBK_TEST_IDX] = 0;
49104910

49114911
bnxt_hwrm_mac_loopback(bp, false);
4912+
buf[BNXT_PHYLPBK_TEST_IDX] = 1;
4913+
if (bp->phy_flags & BNXT_PHY_FL_NO_PHY_LPBK)
4914+
goto skip_phy_loopback;
4915+
49124916
bnxt_hwrm_phy_loopback(bp, true, false);
49134917
msleep(1000);
4914-
if (bnxt_run_loopback(bp)) {
4915-
buf[BNXT_PHYLPBK_TEST_IDX] = 1;
4918+
if (bnxt_run_loopback(bp))
49164919
etest->flags |= ETH_TEST_FL_FAILED;
4917-
}
4920+
else
4921+
buf[BNXT_PHYLPBK_TEST_IDX] = 0;
4922+
skip_phy_loopback:
4923+
buf[BNXT_EXTLPBK_TEST_IDX] = 1;
49184924
if (do_ext_lpbk) {
49194925
etest->flags |= ETH_TEST_FL_EXTERNAL_LB_DONE;
49204926
bnxt_hwrm_phy_loopback(bp, true, true);
49214927
msleep(1000);
4922-
if (bnxt_run_loopback(bp)) {
4923-
buf[BNXT_EXTLPBK_TEST_IDX] = 1;
4928+
if (bnxt_run_loopback(bp))
49244929
etest->flags |= ETH_TEST_FL_FAILED;
4925-
}
4930+
else
4931+
buf[BNXT_EXTLPBK_TEST_IDX] = 0;
49264932
}
49274933
bnxt_hwrm_phy_loopback(bp, false, false);
49284934
bnxt_half_close_nic(bp);

0 commit comments

Comments
 (0)