Re: [PATCH] IB/mlx5: give back valid speed/width even without plugged in SFP module

From: Thomas Bogendoerfer
Date: Sat Oct 28 2017 - 06:42:54 EST


On Fri, 27 Oct 2017 19:19:05 -0400
Hal Rosenstock <hal@xxxxxxxxxxxxxxxxxx> wrote:

> On 10/27/2017 7:04 PM, Ghazale Hosseinabadi wrote:
> >
> >
> > On 10/27/2017 03:52 PM, Hal Rosenstock wrote:
> >> On 10/27/2017 5:54 PM, Ghazale Hosseinabadi wrote:
> >>> When running ibstat (if transceiver is not connected in adapter):
> >>>
> >>> ibpanic: [7851] main: stat of IB device 'mlx5_1' failed: Invalid
> >>> argument
> >> Any output before that ?
> > no, It only prints this line.

rate_show() generates an EINVAL, that's propably what ibstat/*libs confuses.

> and setting the width to 1x in the driver so the rate file is properly
> populated fixes this ?

yes, because then rate_show() will not return EINVAL.

> I must be missing something as to what is going on in this scenario.
>
> sysfs.c:rate_show is inconsistent as it paves over an invalid speed
> setting that to SDR but does not pave over invalid width returning
> -EINVAL but this comment is in another "direction".

I thought about going in the other direction by making the speed/width unknown case
somehow visible in rate_show(). When I checked all other drivers only mlx5 stand out
so I decided to only change mlx5. But I make a change to let rate_show() print out,
that is currently has no rate for the port.

Thomas.

--
Thomas Bogendoerfer <tbogendoerfer@xxxxxxx>