* [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