All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: <andrew@lunn.ch>, <davem@davemloft.net>, <kyle.roeschley@ni.com>,
	<nsekhar@ti.com>, <netdev@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	"stable # v4 . 9+" <stable@vger.kernel.org>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Subject: Re: [PATCH v3 1/2] net: phy: Fix PHY AN done state machine for interrupt driven PHYs
Date: Fri, 31 Mar 2017 12:19:57 +0300	[thread overview]
Message-ID: <b4a3eec9-a5a2-bbec-1cb2-917edfdca705@ti.com> (raw)
In-Reply-To: <d536d55f-8f13-59f9-ca85-04f6ca88c811@gmail.com>

Florian,

On 30/03/17 23:02, Florian Fainelli wrote:
> On 03/27/2017 04:59 AM, Roger Quadros wrote:
>> The Ethernet link on an interrupt driven PHY was not coming up if the
>> Ethernet cable was plugged before the Ethernet interface was brought up.
>>
>> The PHY state machine seems to be stuck from RUNNING to AN state
>> with no new interrupts from the PHY. So it doesn't know when the
>> PHY Auto-negotiation has been completed and doesn't transition to RUNNING
>> state with ANEG done thus netif_carrier_on() is never called.
>>
>> NOTE: genphy_config_aneg() will not restart PHY Auto-negotiation of
>> advertisement parameters didn't change.
>>
>> Fix this by scheduling the PHY state machine in phy_start_aneg().
>> There is no way of knowing in phy.c whether auto-negotiation was
>> restarted or not by the PHY driver so we just wait for the next
>> poll/interrupt to update the PHY state machine.
>>
>> Fixes: 3c293f4e08b5 ("net: phy: Trigger state machine on state change and not polling.")
>> Cc: stable <stable@vger.kernel.org> # v4.9+
>> Signed-off-by: Roger Quadros <rogerq@ti.com>
> 
> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
> 
Thanks for the review, but there are a still few unanswered questions in the parallel thread.
Can you please clarify those first before this patch gets picked? Thanks.

cheers,
-roger

  reply	other threads:[~2017-03-31  9:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22 11:02 [PATCH v2 0/2] net: phy: state machine fixes for interrupt driven PHYs Roger Quadros
2017-03-22 11:02 ` [PATCH v2 1/2] net: phy: Fix PHY AN done state machine " Roger Quadros
2017-03-23  9:52   ` Sergei Shtylyov
2017-03-27 11:50     ` Roger Quadros
2017-03-27 11:59   ` [PATCH v3 " Roger Quadros
2017-03-28 10:05     ` Roger Quadros
2017-04-11 11:17       ` Roger Quadros
2017-04-19 16:28         ` Florian Fainelli
2017-03-30 12:59     ` Madalin-Cristian Bucur
2017-03-30 20:02     ` Florian Fainelli
2017-03-31  9:19       ` Roger Quadros [this message]
2017-03-22 11:02 ` [PATCH v2 2/2] net: phy: Don't miss phy_suspend() on PHY_HALTED for PHYs with interrupts Roger Quadros
2017-04-19 16:31   ` Florian Fainelli

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=b4a3eec9-a5a2-bbec-1cb2-917edfdca705@ti.com \
    --to=rogerq@ti.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=kyle.roeschley@ni.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=stable@vger.kernel.org \
    /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.