From: Claudiu Manoil <claudiu.manoil@nxp.com>
To: Thomas Graziadei <thomas.graziadei@omicronenergy.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH 1/2] gianfar: Deal with link state changes during GFAR_RESETTING dev state
Date: Mon, 13 Feb 2017 17:10:25 +0000 [thread overview]
Message-ID: <AM5PR0401MB25617858360C598BC3146E9096590@AM5PR0401MB2561.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <1486988529-24924-1-git-send-email-thomas.graziadei@omicronenergy.com>
>-----Original Message-----
>From: Thomas Graziadei [mailto:thomas.graziadei@omicronenergy.com]
>Sent: Monday, February 13, 2017 2:22 PM
>To: claudiu.manoil@freescale.com; netdev@vger.kernel.org; linux-
>kernel@vger.kernel.org
>Cc: Thomas Graziadei <thomas.graziadei@omicronenergy.com>
>Subject: [PATCH 1/2] gianfar: Deal with link state changes during GFAR_RESETTING
>dev state
>
>From: Thomas Graziadei <thomas.graziadei@omicronenergy.com>
>
>The link state is not correctly set in the case that the network driver
>is reconfigured while the link state changes. The phy informs the gianfar
>driver, but gfar_update_link_state just exits and therefore looses the
>change event. The network driver remains in the old state until a new link
>event is sent.
>
>A trace log from a possible scenario at bootup, when the link state in the
>network driver stays down even though the phy reports an up link. The test
>sends a SIOCSHWTSTAMP ioctl at the right moment (which calls reset_gfar):
> ip-1196 [000] 5.389270: phy_start: state: READY -> UP
>kworker/0:2-1195 [000] 5.389784: phy_start_aneg: state: UP -> AN
>kworker/0:2-1195 [000] 5.389788: phy_state_machine: state: UP -> AN
>kworker/0:2-1195 [000] 6.828064: adjust_link: eth0, link 0 -> 0
>kworker/0:2-1195 [000] 6.828599: phy_state_machine: state: AN -> NOLINK
> test-1470 [000] 7.460422: reset_gfar: before locking GFAR_RESETTING
> test-1470 [000] 7.470806: phy_stop: state: NOLINK -> HALTED
> test-1470 [000] 7.478806: phy_start: state: HALTED -> RESUMING
>kworker/0:2-1195 [000] 7.479478: adjust_link: eth0, link 0 -> 1
>kworker/0:2-1195 [000] 7.479482: phy_state_machine: state: RESUMING ->
>RUNNING
> test-1470 [000] 7.479826: reset_gfar: after locking GFAR_RESETTING
>
>To resolve the issue adjust_link is called after every GFAR_RESETTING lock
>section. Adjust_link itself checks if anything has changed and updates the
>link accordingly.
>
Hi,
Interesting findings. I need more time to check the patches. Btw, we don't
use "//" for comments on netdev.
Thanks,
Claudiu
next prev parent reply other threads:[~2017-02-13 17:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-13 12:22 [PATCH 1/2] gianfar: Deal with link state changes during GFAR_RESETTING dev state Thomas Graziadei
2017-02-13 12:22 ` [PATCH 2/2] gianfar: Use the same initial values as the phy layer Thomas Graziadei
2017-02-13 17:10 ` Claudiu Manoil [this message]
2017-02-16 17:41 ` [PATCH 1/2] gianfar: Deal with link state changes during GFAR_RESETTING dev state Claudiu Manoil
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=AM5PR0401MB25617858360C598BC3146E9096590@AM5PR0401MB2561.eurprd04.prod.outlook.com \
--to=claudiu.manoil@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=thomas.graziadei@omicronenergy.com \
/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.