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)

Reply via email to