]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
bnxt_en: Log unknown link speed appropriately.
authorMichael Chan <michael.chan@broadcom.com>
Mon, 12 Oct 2020 09:10:51 +0000 (05:10 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Nov 2020 10:08:43 +0000 (11:08 +0100)
[ Upstream commit 8eddb3e7ce124dd6375d3664f1aae13873318b0f ]

If the VF virtual link is set to always enabled, the speed may be
unknown when the physical link is down.  The driver currently logs
the link speed as 4294967295 Mbps which is SPEED_UNKNOWN.  Modify
the link up log message as "speed unknown" which makes more sense.

Reviewed-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/1602493854-29283-7-git-send-email-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index c3f04fb319556b6d1ee3a02b6c868a9351ebac40..01d28ede1fb206f663aa9a81605339b50dc07f68 100644 (file)
@@ -6326,6 +6326,11 @@ static void bnxt_report_link(struct bnxt *bp)
                u16 fec;
 
                netif_carrier_on(bp->dev);
+               speed = bnxt_fw_to_ethtool_speed(bp->link_info.link_speed);
+               if (speed == SPEED_UNKNOWN) {
+                       netdev_info(bp->dev, "NIC Link is Up, speed unknown\n");
+                       return;
+               }
                if (bp->link_info.duplex == BNXT_LINK_DUPLEX_FULL)
                        duplex = "full";
                else
@@ -6338,7 +6343,6 @@ static void bnxt_report_link(struct bnxt *bp)
                        flow_ctrl = "ON - receive";
                else
                        flow_ctrl = "none";
-               speed = bnxt_fw_to_ethtool_speed(bp->link_info.link_speed);
                netdev_info(bp->dev, "NIC Link is Up, %u Mbps %s duplex, Flow control: %s\n",
                            speed, duplex, flow_ctrl);
                if (bp->flags & BNXT_FLAG_EEE_CAP)