* [PATCH] net: trivial: fix fsl fec_main mdio write return value
@ 2016-09-26 19:11 Albert ARIBAUD (3ADEV)
2016-09-26 19:15 ` Albert ARIBAUD
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Albert ARIBAUD (3ADEV) @ 2016-09-26 19:11 UTC (permalink / raw)
To: netdev; +Cc: Jiri Kosina, Fugang Duan
If the MDIO enf-of-transfer wait loop does not time out,
0 should be returned to the caller through ret, but ret
was not reset to 0 after receiving the return value of
pm_runtime_get_sync(). Reset ret when no time out occurred.
Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
---
drivers/net/ethernet/freescale/fec_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 01f7e81..0413c05 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1818,6 +1818,8 @@ static int fec_enet_mdio_write(struct mii_bus *bus, int mii_id, int regnum,
netdev_err(fep->netdev, "MDIO write timeout\n");
ret = -ETIMEDOUT;
}
+ else
+ ret = 0;
pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
--
2.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] net: trivial: fix fsl fec_main mdio write return value 2016-09-26 19:11 [PATCH] net: trivial: fix fsl fec_main mdio write return value Albert ARIBAUD (3ADEV) @ 2016-09-26 19:15 ` Albert ARIBAUD 2016-09-26 21:00 ` Fabio Estevam 2016-09-26 22:10 ` Sergei Shtylyov 2 siblings, 0 replies; 5+ messages in thread From: Albert ARIBAUD @ 2016-09-26 19:15 UTC (permalink / raw) To: netdev; +Cc: Jiri Kosina, Fugang Duan ... and of course I only see the typo /now/... Le Mon, 26 Sep 2016 21:11:40 +0200, "Albert ARIBAUD (3ADEV)" <albert.aribaud@3adev.fr> a écrit : > If the MDIO enf-of-transfer wait loop does not time out, ~~~~~~~~~~~~~~~ Make that "end-of-transfer". Should I post a v2? Cordialement, Albert ARIBAUD 3ADEV ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: trivial: fix fsl fec_main mdio write return value 2016-09-26 19:11 [PATCH] net: trivial: fix fsl fec_main mdio write return value Albert ARIBAUD (3ADEV) 2016-09-26 19:15 ` Albert ARIBAUD @ 2016-09-26 21:00 ` Fabio Estevam 2016-09-26 21:10 ` Albert ARIBAUD 2016-09-26 22:10 ` Sergei Shtylyov 2 siblings, 1 reply; 5+ messages in thread From: Fabio Estevam @ 2016-09-26 21:00 UTC (permalink / raw) To: Albert ARIBAUD (3ADEV); +Cc: netdev@vger.kernel.org, Jiri Kosina, Fugang Duan Hi Albert, On Mon, Sep 26, 2016 at 4:11 PM, Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> wrote: > If the MDIO enf-of-transfer wait loop does not time out, > 0 should be returned to the caller through ret, but ret > was not reset to 0 after receiving the return value of > pm_runtime_get_sync(). Reset ret when no time out occurred.Is this really needed? Commit 42ea4457 ("net: fec: normalize return value of pm_runtime_get_sync() in MDIO write") does the following: diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 91925e3..6cc3340 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1816,11 +1816,13 @@ static int fec_enet_mdio_write(struct mii_bus *bus, int mii_id, int regnum, struct fec_enet_private *fep = bus->priv; struct device *dev = &fep->pdev->dev; unsigned long time_left; - int ret = 0; + int ret; ret = pm_runtime_get_sync(dev); if (ret < 0) return ret; + else + ret = 0; > diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c > index 01f7e81..0413c05 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -1818,6 +1818,8 @@ static int fec_enet_mdio_write(struct mii_bus *bus, int mii_id, int regnum, > netdev_err(fep->netdev, "MDIO write timeout\n"); > ret = -ETIMEDOUT; > } > + else > + ret = 0; , so is this really needed? ret should be 0 at this point. ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] net: trivial: fix fsl fec_main mdio write return value 2016-09-26 21:00 ` Fabio Estevam @ 2016-09-26 21:10 ` Albert ARIBAUD 0 siblings, 0 replies; 5+ messages in thread From: Albert ARIBAUD @ 2016-09-26 21:10 UTC (permalink / raw) To: Fabio Estevam; +Cc: netdev@vger.kernel.org, Jiri Kosina, Fugang Duan Hi Fabio, You are correct -- I'd rebased my patch as part of a series, and I did not notice that the fix was already there. Apologies and thanks for pointing it out. Le Mon, 26 Sep 2016 18:00:32 -0300, Fabio Estevam <festevam@gmail.com> a écrit : > Hi Albert, > > On Mon, Sep 26, 2016 at 4:11 PM, Albert ARIBAUD (3ADEV) > <albert.aribaud@3adev.fr> wrote: > > If the MDIO enf-of-transfer wait loop does not time out, > > 0 should be returned to the caller through ret, but ret > > was not reset to 0 after receiving the return value of > > pm_runtime_get_sync(). Reset ret when no time out occurred.Is this really needed? > > Commit 42ea4457 ("net: fec: normalize return value of > pm_runtime_get_sync() in MDIO write") does the following: > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > b/drivers/net/ethernet/freescale/fec_main.c > index 91925e3..6cc3340 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -1816,11 +1816,13 @@ static int fec_enet_mdio_write(struct mii_bus > *bus, int mii_id, int regnum, > struct fec_enet_private *fep = bus->priv; > struct device *dev = &fep->pdev->dev; > unsigned long time_left; > - int ret = 0; > + int ret; > > ret = pm_runtime_get_sync(dev); > if (ret < 0) > return ret; > + else > + ret = 0; > > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > > b/drivers/net/ethernet/freescale/fec_main.c index 01f7e81..0413c05 > > 100644 --- a/drivers/net/ethernet/freescale/fec_main.c > > +++ b/drivers/net/ethernet/freescale/fec_main.c > > @@ -1818,6 +1818,8 @@ static int fec_enet_mdio_write(struct mii_bus > > *bus, int mii_id, int regnum, netdev_err(fep->netdev, "MDIO write > > timeout\n"); ret = -ETIMEDOUT; > > } > > + else > > + ret = 0; > > , so is this really needed? ret should be 0 at this point. Cordialement, Albert ARIBAUD 3ADEV ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: trivial: fix fsl fec_main mdio write return value 2016-09-26 19:11 [PATCH] net: trivial: fix fsl fec_main mdio write return value Albert ARIBAUD (3ADEV) 2016-09-26 19:15 ` Albert ARIBAUD 2016-09-26 21:00 ` Fabio Estevam @ 2016-09-26 22:10 ` Sergei Shtylyov 2 siblings, 0 replies; 5+ messages in thread From: Sergei Shtylyov @ 2016-09-26 22:10 UTC (permalink / raw) To: Albert ARIBAUD (3ADEV), netdev; +Cc: Jiri Kosina, Fugang Duan Hello. On 09/26/2016 10:11 PM, Albert ARIBAUD (3ADEV) wrote: > If the MDIO enf-of-transfer wait loop does not time out, > 0 should be returned to the caller through ret, but ret > was not reset to 0 after receiving the return value of > pm_runtime_get_sync(). Reset ret when no time out occurred. > > Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> > --- > drivers/net/ethernet/freescale/fec_main.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c > index 01f7e81..0413c05 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -1818,6 +1818,8 @@ static int fec_enet_mdio_write(struct mii_bus *bus, int mii_id, int regnum, > netdev_err(fep->netdev, "MDIO write timeout\n"); > ret = -ETIMEDOUT; > } > + else } else { > + ret = 0; } [...] MBR, Sergei ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-09-26 22:10 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-09-26 19:11 [PATCH] net: trivial: fix fsl fec_main mdio write return value Albert ARIBAUD (3ADEV) 2016-09-26 19:15 ` Albert ARIBAUD 2016-09-26 21:00 ` Fabio Estevam 2016-09-26 21:10 ` Albert ARIBAUD 2016-09-26 22:10 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox