Message ID | 20240122093326.7618-1-sinthu.raja@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V2] net: ethernet: ti: cpsw_new: enable mac_managed_pm to fix mdio | expand |
Hi, On 22/01/2024 11:33, Sinthu Raja wrote: > From: Sinthu Raja <sinthu.raja@ti.com> > > The below commit introduced a WARN when phy state is not in the states: > PHY_HALTED, PHY_READY and PHY_UP. > commit 744d23c71af3 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state") > > When cpsw_new resumes, there have port in PHY_NOLINK state, so the below > warning comes out. Set mac_managed_pm be true to tell mdio that the phy > resume/suspend is managed by the mac, to fix the following warning: > > WARNING: CPU: 0 PID: 965 at drivers/net/phy/phy_device.c:326 mdio_bus_phy_resume+0x140/0x144 > CPU: 0 PID: 965 Comm: sh Tainted: G O 6.1.46-g247b2535b2 #1 > Hardware name: Generic AM33XX (Flattened Device Tree) > unwind_backtrace from show_stack+0x18/0x1c > show_stack from dump_stack_lvl+0x24/0x2c > dump_stack_lvl from __warn+0x84/0x15c > __warn from warn_slowpath_fmt+0x1a8/0x1c8 > warn_slowpath_fmt from mdio_bus_phy_resume+0x140/0x144 > mdio_bus_phy_resume from dpm_run_callback+0x3c/0x140 > dpm_run_callback from device_resume+0xb8/0x2b8 > device_resume from dpm_resume+0x144/0x314 > dpm_resume from dpm_resume_end+0x14/0x20 > dpm_resume_end from suspend_devices_and_enter+0xd0/0x924 > suspend_devices_and_enter from pm_suspend+0x2e0/0x33c > pm_suspend from state_store+0x74/0xd0 > state_store from kernfs_fop_write_iter+0x104/0x1ec > kernfs_fop_write_iter from vfs_write+0x1b8/0x358 > vfs_write from ksys_write+0x78/0xf8 > ksys_write from ret_fast_syscall+0x0/0x54 > Exception stack(0xe094dfa8 to 0xe094dff0) > dfa0: 00000004 005c3fb8 00000001 005c3fb8 00000004 00000001 > dfc0: 00000004 005c3fb8 b6f6bba0 00000004 00000004 0059edb8 00000000 00000000 > dfe0: 00000004 bed918f0 b6f09bd3 b6e89a66 > > Fixes: 744d23c71af3 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state") > Signed-off-by: Sinthu Raja <sinthu.raja@ti.com> > --- > > Changes in V2: > Address review comment > Add Fixes tag. > > V1: https://patchwork.kernel.org/project/netdevbpf/patch/20240122083414.6246-1-sinthu.raja@ti.com/ > > drivers/net/ethernet/ti/cpsw_new.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c > index 498c50c6d1a7..087dcb67505a 100644 > --- a/drivers/net/ethernet/ti/cpsw_new.c > +++ b/drivers/net/ethernet/ti/cpsw_new.c > @@ -773,6 +773,9 @@ static void cpsw_slave_open(struct cpsw_slave *slave, struct cpsw_priv *priv) > slave->slave_num); > return; > } > + > + phy->mac_managed_pm = true; > + > slave->phy = phy; > > phy_attached_info(slave->phy); I believe this cpsw.c will also be affected by the same issue. Right? Also you will need to Cc: stable@vger.kernel.org # v6.0+
On Mon, 2024-01-22 at 15:03 +0530, Sinthu Raja wrote: > From: Sinthu Raja <sinthu.raja@ti.com> Please respect the 24h grace period before posting a new version: https://elixir.bootlin.com/linux/latest/source/Documentation/process/maintainer-netdev.rst#L399 Also please keep a consistent revision numbering scheme. This v2 apparently come after v3 ?!? > The below commit introduced a WARN when phy state is not in the states: > PHY_HALTED, PHY_READY and PHY_UP. > commit 744d23c71af3 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state") > > When cpsw_new resumes, there have port in PHY_NOLINK state, so the below > warning comes out. Set mac_managed_pm be true to tell mdio that the phy > resume/suspend is managed by the mac, to fix the following warning: > > WARNING: CPU: 0 PID: 965 at drivers/net/phy/phy_device.c:326 mdio_bus_phy_resume+0x140/0x144 > CPU: 0 PID: 965 Comm: sh Tainted: G O 6.1.46-g247b2535b2 #1 > Hardware name: Generic AM33XX (Flattened Device Tree) > unwind_backtrace from show_stack+0x18/0x1c > show_stack from dump_stack_lvl+0x24/0x2c > dump_stack_lvl from __warn+0x84/0x15c > __warn from warn_slowpath_fmt+0x1a8/0x1c8 > warn_slowpath_fmt from mdio_bus_phy_resume+0x140/0x144 > mdio_bus_phy_resume from dpm_run_callback+0x3c/0x140 > dpm_run_callback from device_resume+0xb8/0x2b8 > device_resume from dpm_resume+0x144/0x314 > dpm_resume from dpm_resume_end+0x14/0x20 > dpm_resume_end from suspend_devices_and_enter+0xd0/0x924 > suspend_devices_and_enter from pm_suspend+0x2e0/0x33c > pm_suspend from state_store+0x74/0xd0 > state_store from kernfs_fop_write_iter+0x104/0x1ec > kernfs_fop_write_iter from vfs_write+0x1b8/0x358 > vfs_write from ksys_write+0x78/0xf8 > ksys_write from ret_fast_syscall+0x0/0x54 > Exception stack(0xe094dfa8 to 0xe094dff0) > dfa0: 00000004 005c3fb8 00000001 005c3fb8 00000004 00000001 > dfc0: 00000004 005c3fb8 b6f6bba0 00000004 00000004 0059edb8 00000000 00000000 > dfe0: 00000004 bed918f0 b6f09bd3 b6e89a66 > > Fixes: 744d23c71af3 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state") I think the real issue was introduced somewhere else in the TI driver. The above commit just report the inconsistent state. Note that you probably will a small series of 2 separate patches to address the issue bot in cpsw_new.c and cpsw.c, as mentioned by Roger. Cheers, Paolo
On Tue, Jan 23, 2024 at 6:13 PM Paolo Abeni <pabeni@redhat.com> wrote: > > On Mon, 2024-01-22 at 15:03 +0530, Sinthu Raja wrote: > > From: Sinthu Raja <sinthu.raja@ti.com> > > Please respect the 24h grace period before posting a new version: > > https://linkprotect.cudasvc.com/url?a=https%3a%2f%2felixir.bootlin.com%2flinux%2flatest%2fsource%2fDocumentation%2fprocess%2fmaintainer-netdev.rst%23L399&c=E,1,NjWZnS_W5KYuQampSneJ5dh5x0uA13rTVQCXH1ka9fcz6_gt5qqQqy8nFt1bkXrtBPCbPgvmb2aoYD7elUmB6B3NBMuMochpC4P4ihN9CXTTm5hpP9gZ&typo=1 > > Also please keep a consistent revision numbering scheme. This v2 > apparently come after v3 ?!? My bad, it was a typo error in the subject line, the previous version was supposed to be V1 and the next version will be V3. I believe it is fine to post the next version as V3. > > > The below commit introduced a WARN when phy state is not in the states: > > PHY_HALTED, PHY_READY and PHY_UP. > > commit 744d23c71af3 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state") > > > > When cpsw_new resumes, there have port in PHY_NOLINK state, so the below > > warning comes out. Set mac_managed_pm be true to tell mdio that the phy > > resume/suspend is managed by the mac, to fix the following warning: > > > > WARNING: CPU: 0 PID: 965 at drivers/net/phy/phy_device.c:326 mdio_bus_phy_resume+0x140/0x144 > > CPU: 0 PID: 965 Comm: sh Tainted: G O 6.1.46-g247b2535b2 #1 > > Hardware name: Generic AM33XX (Flattened Device Tree) > > unwind_backtrace from show_stack+0x18/0x1c > > show_stack from dump_stack_lvl+0x24/0x2c > > dump_stack_lvl from __warn+0x84/0x15c > > __warn from warn_slowpath_fmt+0x1a8/0x1c8 > > warn_slowpath_fmt from mdio_bus_phy_resume+0x140/0x144 > > mdio_bus_phy_resume from dpm_run_callback+0x3c/0x140 > > dpm_run_callback from device_resume+0xb8/0x2b8 > > device_resume from dpm_resume+0x144/0x314 > > dpm_resume from dpm_resume_end+0x14/0x20 > > dpm_resume_end from suspend_devices_and_enter+0xd0/0x924 > > suspend_devices_and_enter from pm_suspend+0x2e0/0x33c > > pm_suspend from state_store+0x74/0xd0 > > state_store from kernfs_fop_write_iter+0x104/0x1ec > > kernfs_fop_write_iter from vfs_write+0x1b8/0x358 > > vfs_write from ksys_write+0x78/0xf8 > > ksys_write from ret_fast_syscall+0x0/0x54 > > Exception stack(0xe094dfa8 to 0xe094dff0) > > dfa0: 00000004 005c3fb8 00000001 005c3fb8 00000004 00000001 > > dfc0: 00000004 005c3fb8 b6f6bba0 00000004 00000004 0059edb8 00000000 00000000 > > dfe0: 00000004 bed918f0 b6f09bd3 b6e89a66 > > > > Fixes: 744d23c71af3 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state") > > I think the real issue was introduced somewhere else in the TI driver. > The above commit just report the inconsistent state. > > Note that you probably will a small series of 2 separate patches to > address the issue bot in cpsw_new.c and cpsw.c, as mentioned by Roger. > > Cheers, > > Paolo > -- With Regards Sinthu Raja
diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c index 498c50c6d1a7..087dcb67505a 100644 --- a/drivers/net/ethernet/ti/cpsw_new.c +++ b/drivers/net/ethernet/ti/cpsw_new.c @@ -773,6 +773,9 @@ static void cpsw_slave_open(struct cpsw_slave *slave, struct cpsw_priv *priv) slave->slave_num); return; } + + phy->mac_managed_pm = true; + slave->phy = phy; phy_attached_info(slave->phy);