diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-10-15 00:19:05 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-15 00:19:05 -0700 |
commit | 35c5f8fef12a2e4b788aa45ff72206ce4ac8e4b4 (patch) | |
tree | ec8f02d834781cd6cc14e374340d7db70343ce7b | |
parent | 061bc702f6912b6e45b9aaf1c9bf2f8122406d47 (diff) |
bnx2x: Report the maximal available BW as link speed
The device is limited to the maximal BW allocation, so it should be displayed as
the link speed to notify the user.
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/bnx2x_main.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 42cd957c668b..ba131f463198 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c @@ -2163,11 +2163,23 @@ static void bnx2x_link_report(struct bnx2x *bp) } if (bp->link_vars.link_up) { + u16 line_speed; + if (bp->state == BNX2X_STATE_OPEN) netif_carrier_on(bp->dev); printk(KERN_INFO PFX "%s NIC Link is Up, ", bp->dev->name); - printk("%d Mbps ", bp->link_vars.line_speed); + line_speed = bp->link_vars.line_speed; + if (IS_E1HMF(bp)) { + u16 vn_max_rate; + + vn_max_rate = + ((bp->mf_config & FUNC_MF_CFG_MAX_BW_MASK) >> + FUNC_MF_CFG_MAX_BW_SHIFT) * 100; + if (vn_max_rate < line_speed) + line_speed = vn_max_rate; + } + printk("%d Mbps ", line_speed); if (bp->link_vars.duplex == DUPLEX_FULL) printk("full duplex"); |