Subject: Re: [PATCH v2 2/3] net: sfp: assume that LOS is not implemented if both LOS normal and inverted is set

From: Russell King - ARM Linux admin <[email-masked]>
Date: Sat, 9 Jan 2021 16:27:44 +0000

On Sat, Jan 09, 2021 at 04:54:22PM +0100, Andrew Lunn wrote:
> On Sat, Jan 09, 2021 at 03:46:01PM +0000, Russell King - ARM Linux admin wrote:
> > On Thu, Jan 07, 2021 at 05:54:28PM +0100, Andrew Lunn wrote:
> > > On Wed, Jan 06, 2021 at 04:37:48PM +0100, Pali Rohár wrote:
> > > > From: Russell King <[email-masked]>
> > > > 
> > > > Some GPON SFP modules (e.g. Ubiquiti U-Fiber Instant) have set both
> > > > SFP_OPTIONS_LOS_INVERTED and SFP_OPTIONS_LOS_NORMAL bits in their EEPROM.
> > > > 
> > > > Such combination of bits is meaningless so assume that LOS signal is not
> > > > implemented.
> > > > 
> > > > This patch fixes link carrier for GPON SFP module Ubiquiti U-Fiber Instant.
> > > > 
> > > > Signed-off-by: Russell King <[email-masked]>
> > > > Signed-off-by: Pali Rohár <[email-masked]>
> > > 
> > > Reviewed-by: Andrew Lunn <[email-masked]>
> > 
> > I'd like to send this patch irrespective of discussion on the other
> > patches - I already have it committed in my repository with a different
> > description, but the patch content is the same.
> > 
> > Are you happy if I transfer Andrew's r-b tag
> 
> Hi Russell
> 
> If it is the same contest, no problem. I can always NACK it later...

The commit message is different:

   net: sfp: cope with SFPs that set both LOS normal and LOS inverted

   The SFP MSA defines two option bits in byte 65 to indicate how the
   Rx_LOS signal on SFP pin 8 behaves:

   bit 2 - Loss of Signal implemented, signal inverted from standard
           definition in SFP MSA (often called "Signal Detect").
   bit 1 - Loss of Signal implemented, signal as defined in SFP MSA
           (often called "Rx_LOS").

   Clearly, setting both bits results in a meaningless situation: it would
   mean that LOS is implemented in both the normal sense (1 = signal loss)
   and inverted sense (0 = signal loss).

   Unfortunately, there are modules out there which set both bits, which
   will be initially interpret as "inverted" sense, and then, if the LOS
   signal changes state, we will toggle between LINK_UP and WAIT_LOS
   states.

   Change our LOS handling to give well defined behaviour: only interpret
   these bits as meaningful if exactly one is set, otherwise treat it as
   if LOS is not implemented.

   Signed-off-by: Russell King <[email-masked]>

As I say, the actual patch is the same.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!