bnxt_en: Log unknown link speed appropriately.
authorMichael Chan <michael.chan@broadcom.com>
Mon, 12 Oct 2020 09:10:51 +0000 (05:10 -0400)
committerJakub Kicinski <kuba@kernel.org>
Mon, 12 Oct 2020 21:27:03 +0000 (14:27 -0700)
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>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 877efaf302ad99e2fbf3b1df5fa7897d5c27ef96..78bf636e623b1ac5587b6d0fa72021fdf0ba6d29 100644 (file)
@@ -8902,6 +8902,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
@@ -8914,7 +8919,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)