All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Jakub Kicinski <jakub.kicinski@netronome.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Antoine Tenart <antoine.tenart@bootlin.com>,
	Willy Tarreau <w@1wt.eu>, Andrew Lunn <andrew@lunn.ch>,
	Thomas Bogendoerfer <tbogendoerfer@suse.de>,
	maxime.chevallier@bootlin.com, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH] net: marvell: mvpp2: phylink requires the link interrupt
Date: Sat, 14 Dec 2019 07:56:02 +0000	[thread overview]
Message-ID: <20191214075602.GY25745@shell.armlinux.org.uk> (raw)
In-Reply-To: <20191214075127.GX25745@shell.armlinux.org.uk>

On Sat, Dec 14, 2019 at 07:51:27AM +0000, Russell King - ARM Linux admin wrote:
> On Fri, Dec 13, 2019 at 04:34:03PM -0800, Jakub Kicinski wrote:
> > On Tue, 10 Dec 2019 22:33:05 +0000, Russell King wrote:
> > > phylink requires the MAC to report when its link status changes when
> > > operating in inband modes.  Failure to report link status changes
> > > means that phylink has no idea when the link events happen, which
> > > results in either the network interface's carrier remaining up or
> > > remaining permanently down.
> > > 
> > > For example, with a fiber module, if the interface is brought up and
> > > link is initially established, taking the link down at the far end
> > > will cut the optical power.  The SFP module's LOS asserts, we
> > > deactivate the link, and the network interface reports no carrier.
> > > 
> > > When the far end is brought back up, the SFP module's LOS deasserts,
> > > but the MAC may be slower to establish link.  If this happens (which
> > > in my tests is a certainty) then phylink never hears that the MAC
> > > has established link with the far end, and the network interface is
> > > stuck reporting no carrier.  This means the interface is
> > > non-functional.
> > > 
> > > Avoiding the link interrupt when we have phylink is basically not
> > > an option, so remove the !port->phylink from the test.
> > > 
> > > Tested-by: Sven Auhagen <sven.auhagen@voleatech.de>
> > > Tested-by: Antoine Tenart <antoine.tenart@bootlin.com>
> > > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> > 
> > Fixes: 4bb043262878 ("net: mvpp2: phylink support") ?
> > 
> > Seems like you maybe didn't want this backported to stable hence 
> > no fixes tag?
> 
> Correct, because backporting just this patch will break the
> Macchiatobin.
> 
> This patch is dependent on the previous two patches, which are more
> about correct use of the API.  I suspect if you try to backport the
> series, things will get very hairly very quickly.

Oh, sorry, too early, wrong patch.  Yes, please add the fixes tag.

> 
> > 
> > Please advise :)
> > 
> > > diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > index 111b3b8239e1..ef44c6979a31 100644
> > > --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > @@ -3674,7 +3674,7 @@ static int mvpp2_open(struct net_device *dev)
> > >  		valid = true;
> > >  	}
> > >  
> > > -	if (priv->hw_version == MVPP22 && port->link_irq && !port->phylink) {
> > > +	if (priv->hw_version == MVPP22 && port->link_irq) {
> > >  		err = request_irq(port->link_irq, mvpp2_link_status_isr, 0,
> > >  				  dev->name, port);
> > >  		if (err) {
> > 
> > 
> 
> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
> According to speedtest.net: 11.9Mbps down 500kbps up

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

  reply	other threads:[~2019-12-14  7:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-10 22:33 [PATCH] net: marvell: mvpp2: phylink requires the link interrupt Russell King
2019-12-14  0:34 ` Jakub Kicinski
2019-12-14  7:19   ` Willy Tarreau
2019-12-14  7:51   ` Russell King - ARM Linux admin
2019-12-14  7:56     ` Russell King - ARM Linux admin [this message]
2019-12-14  8:24       ` Willy Tarreau
2019-12-14 18:16         ` Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191214075602.GY25745@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=antoine.tenart@bootlin.com \
    --cc=davem@davemloft.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime.chevallier@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=tbogendoerfer@suse.de \
    --cc=w@1wt.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.