linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead
@ 2020-09-08 23:55 Yoshihiro Shimoda
  2020-09-09  3:25 ` David Miller
  0 siblings, 1 reply; 5+ messages in thread
From: Yoshihiro Shimoda @ 2020-09-08 23:55 UTC (permalink / raw)
  To: andrew, hkallweit1, linux, davem, kuba, Jisheng.Zhang
  Cc: netdev, linux-renesas-soc, Yoshihiro Shimoda

Since the micrel phy driver calls phy_init_hw() as a workaround,
the commit 9886a4dbd2aa ("net: phy: call phy_disable_interrupts()
in phy_init_hw()") disables the interrupt unexpectedly. So,
call phy_disable_interrupts() in phy_attach_direct() instead.
Otherwise, the phy cannot link up after the ethernet cable was
disconnected.

Note that other drivers (like at803x.c) also calls phy_init_hw().
So, perhaps, the driver caused a similar issue too.

Fixes: 9886a4dbd2aa ("net: phy: call phy_disable_interrupts() in phy_init_hw()")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 Changes from v1:
 - Fix build error.

 drivers/net/phy/phy_device.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 8adfbad..b93b40c 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1143,10 +1143,6 @@ int phy_init_hw(struct phy_device *phydev)
 	if (ret < 0)
 		return ret;
 
-	ret = phy_disable_interrupts(phydev);
-	if (ret)
-		return ret;
-
 	if (phydev->drv->config_init)
 		ret = phydev->drv->config_init(phydev);
 
@@ -1423,6 +1419,10 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
 	if (err)
 		goto error;
 
+	err = phy_disable_interrupts(phydev);
+	if (err)
+		return err;
+
 	phy_resume(phydev);
 	phy_led_triggers_register(phydev);
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead
  2020-09-08 23:55 [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead Yoshihiro Shimoda
@ 2020-09-09  3:25 ` David Miller
  2020-09-09  4:18   ` Yoshihiro Shimoda
  0 siblings, 1 reply; 5+ messages in thread
From: David Miller @ 2020-09-09  3:25 UTC (permalink / raw)
  To: yoshihiro.shimoda.uh
  Cc: andrew, hkallweit1, linux, kuba, Jisheng.Zhang, netdev,
	linux-renesas-soc

From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date: Wed,  9 Sep 2020 08:55:38 +0900

>  Changes from v1:
>  - Fix build error.

When such a fundamental build failure is fixed (it could never have
built for anyone, even you), I want it explained why this happened
and how this was functionally tested if it did not even compile.

I'm not applying this patch, you must resubmit it again after
explaining what happened here instead of just quietly fixing
the build failure.

Thank you.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead
  2020-09-09  3:25 ` David Miller
@ 2020-09-09  4:18   ` Yoshihiro Shimoda
  2020-09-09 13:46     ` Andrew Lunn
  0 siblings, 1 reply; 5+ messages in thread
From: Yoshihiro Shimoda @ 2020-09-09  4:18 UTC (permalink / raw)
  To: David Miller
  Cc: andrew, hkallweit1, linux, kuba, Jisheng.Zhang, netdev,
	linux-renesas-soc

Hi David,

> From: David Miller, Sent: Wednesday, September 9, 2020 12:25 PM
> 
> From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Date: Wed,  9 Sep 2020 08:55:38 +0900
> 
> >  Changes from v1:
> >  - Fix build error.
> 
> When such a fundamental build failure is fixed (it could never have
> built for anyone, even you), I want it explained why this happened
> and how this was functionally tested if it did not even compile.

I'm sorry about this. I used two PCs now:
 PC 1 = for testing at local
 PC 2 = for submitting patches at remote (because corporate network situation)

I tested on the PC 1.
But, after that, I modified the code on the PC 2 again. And, it seemed
I didn't do a compile. Today, I got some emails from kernel test bot.
So, I realized I had submitted a bad patch...

> I'm not applying this patch, you must resubmit it again after
> explaining what happened here instead of just quietly fixing
> the build failure.

Since the kernel test bot sent emails, I assumed I didn't need to
reply by myself. I should have replied anyway...

Best regards,
Yoshihiro Shimoda

> Thank you.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead
  2020-09-09  4:18   ` Yoshihiro Shimoda
@ 2020-09-09 13:46     ` Andrew Lunn
  2020-09-09 23:50       ` Yoshihiro Shimoda
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2020-09-09 13:46 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: David Miller, hkallweit1, linux, kuba, Jisheng.Zhang, netdev,
	linux-renesas-soc

On Wed, Sep 09, 2020 at 04:18:56AM +0000, Yoshihiro Shimoda wrote:
> Hi David,
> 
> > From: David Miller, Sent: Wednesday, September 9, 2020 12:25 PM
> > 
> > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> > Date: Wed,  9 Sep 2020 08:55:38 +0900
> > 
> > >  Changes from v1:
> > >  - Fix build error.
> > 
> > When such a fundamental build failure is fixed (it could never have
> > built for anyone, even you), I want it explained why this happened
> > and how this was functionally tested if it did not even compile.
> 
> I'm sorry about this. I used two PCs now:
>  PC 1 = for testing at local
>  PC 2 = for submitting patches at remote (because corporate network situation)
> 
> I tested on the PC 1.
> But, after that, I modified the code on the PC 2 again. And, it seemed
> I didn't do a compile.

This sort of split setup is always a bad idea. Always do the git
format-patch on PC 1 and somehow get the patch files off it, and use
PC 2 only for git send-email, never any development work. That way you
will avoid issues like this.

     Andrew

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead
  2020-09-09 13:46     ` Andrew Lunn
@ 2020-09-09 23:50       ` Yoshihiro Shimoda
  0 siblings, 0 replies; 5+ messages in thread
From: Yoshihiro Shimoda @ 2020-09-09 23:50 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: David Miller, hkallweit1, linux, kuba, Jisheng.Zhang, netdev,
	linux-renesas-soc

Hi Andrew,

> From: Andrew Lunn, Sent: Wednesday, September 9, 2020 10:47 PM
> 
> On Wed, Sep 09, 2020 at 04:18:56AM +0000, Yoshihiro Shimoda wrote:
> > Hi David,
> >
> > > From: David Miller, Sent: Wednesday, September 9, 2020 12:25 PM
> > >
> > > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> > > Date: Wed,  9 Sep 2020 08:55:38 +0900
> > >
> > > >  Changes from v1:
> > > >  - Fix build error.
> > >
> > > When such a fundamental build failure is fixed (it could never have
> > > built for anyone, even you), I want it explained why this happened
> > > and how this was functionally tested if it did not even compile.
> >
> > I'm sorry about this. I used two PCs now:
> >  PC 1 = for testing at local
> >  PC 2 = for submitting patches at remote (because corporate network situation)
> >
> > I tested on the PC 1.
> > But, after that, I modified the code on the PC 2 again. And, it seemed
> > I didn't do a compile.
> 
> This sort of split setup is always a bad idea. Always do the git
> format-patch on PC 1 and somehow get the patch files off it, and use
> PC 2 only for git send-email, never any development work. That way you
> will avoid issues like this.

Thank you for your comment! I agree with you. I'll use such setup.

Best regards,
Yoshihiro Shimoda


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-09-10  2:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-08 23:55 [PATCH v2] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead Yoshihiro Shimoda
2020-09-09  3:25 ` David Miller
2020-09-09  4:18   ` Yoshihiro Shimoda
2020-09-09 13:46     ` Andrew Lunn
2020-09-09 23:50       ` Yoshihiro Shimoda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).