On Wed, 6 Dec 2017 17:31:22 -0500 Michael Chan <michael.c...@broadcom.com> wrote:
> On some dual port NICs, the 2 ports have to be configured with compatible > link speeds. Under some conditions, a port's configured speed may no > longer be supported. The firmware will send a message to the driver > when this happens. > > Improve this logic that prints out the warning by only printing it if > we can determine the link speed that is no longer supported. If the > speed is unknown or it is in autoneg mode, skip the warning message. > > Reported-by: Thomas Bogendoerfer <tbogendoer...@suse.de> > Signed-off-by: Michael Chan <michael.c...@broadcom.com> Tested-by: Thomas Bogendoerfer <tbogendoer...@suse.de> > --- > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c > b/drivers/net/ethernet/broadcom/bnxt/bnxt.c > index 24fe676..af6c83f 100644 > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c > @@ -1706,12 +1706,16 @@ static int bnxt_async_event_process(struct bnxt *bp, > > if (BNXT_VF(bp)) > goto async_event_process_exit; > - if (data1 & 0x20000) { > + > + /* print unsupported speed warning in forced speed mode only */ > + if (!(link_info->autoneg & BNXT_AUTONEG_SPEED) && > + (data1 & 0x20000)) { > u16 fw_speed = link_info->force_link_speed; > u32 speed = bnxt_fw_to_ethtool_speed(fw_speed); > > - netdev_warn(bp->dev, "Link speed %d no longer > supported\n", > - speed); > + if (speed != SPEED_UNKNOWN) > + netdev_warn(bp->dev, "Link speed %d no longer > supported\n", > + speed); > } > set_bit(BNXT_LINK_SPEED_CHNG_SP_EVENT, &bp->sp_event); > /* fall thru */ > -- > 1.8.3.1 > -- SUSE Linux GmbH GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)