[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y3T8wliAKdl/paS6@lunn.ch>
Date: Wed, 16 Nov 2022 16:07:46 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Xiaolei Wang <xiaolei.wang@...driver.com>
Cc: hkallweit1@...il.com, linux@...linux.org.uk, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] net: fec: Create device link between phy dev and mac
dev
On Wed, Nov 16, 2022 at 10:43:05PM +0800, Xiaolei Wang wrote:
> On imx6sx, there are two fec interfaces, but the external
> phys can only be configured by fec0 mii_bus. That means
> the fec1 can't work independently, it only work when the
> fec0 is active. It is alright in the normal boot since the
> fec0 will be probed first. But then the fec0 maybe moved
> behind of fec1 in the dpm_list due to various device link.
> So in system suspend and resume, we would get the following
> warning when configuring the external phy of fec1 via the
> fec0 mii_bus due to the inactive of fec0. In order to fix
> this issue, we create a device link between phy dev and fec0.
> This will make sure that fec0 is always active when fec1
> is in active mode.
>
> WARNING: CPU: 0 PID: 24 at drivers/net/phy/phy.c:983 phy_error+0x20/0x68
> Modules linked in:
> CPU: 0 PID: 24 Comm: kworker/0:2 Not tainted 6.1.0-rc3-00011-g5aaef24b5c6d-dirty #34
> Hardware name: Freescale i.MX6 SoloX (Device Tree)
> Workqueue: events_power_efficient phy_state_machine
> unwind_backtrace from show_stack+0x10/0x14
> show_stack from dump_stack_lvl+0x68/0x90
> dump_stack_lvl from __warn+0xb4/0x24c
> __warn from warn_slowpath_fmt+0x5c/0xd8
> warn_slowpath_fmt from phy_error+0x20/0x68
> phy_error from phy_state_machine+0x22c/0x23c
> phy_state_machine from process_one_work+0x288/0x744
> process_one_work from worker_thread+0x3c/0x500
> worker_thread from kthread+0xf0/0x114
> kthread from ret_from_fork+0x14/0x28
> Exception stack(0xf0951fb0 to 0xf0951ff8)
Please add an explanation why you only do this for the FEC? Is this
not a problem for any board which has the PHY on an MDIO bus not
direct child of the MAC?
Andrew
Powered by blists - more mailing lists