]> 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:06:56 +0000 (11:06 +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 a03239ba1a323e237f56c41a4fc8f88f5bcfefae..e146f6a1fa80dae38313d0d82de74c032a6d8550 100644 (file)
@@ -5780,6 +5780,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
@@ -5792,7 +5797,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)