Re: [PATCH v4 net-next] net: mvneta: implement .set_wol and .get_wol

From: Andrew Lunn
Date: Mon Jan 23 2017 - 13:10:41 EST


On Mon, Jan 23, 2017 at 02:55:07PM +0800, Jisheng Zhang wrote:
> From: Jingju Hou <houjingj@xxxxxxxxxxx>
>
> From: Jingju Hou <houjingj@xxxxxxxxxxx>
>
> The mvneta itself does not support WOL, but the PHY might.
> So pass the calls to the PHY
>
> Signed-off-by: Jingju Hou <houjingj@xxxxxxxxxxx>
> Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx>
> ---
> since v3:
> - really fix the build error

Keep trying....

But maybe tomorrow, after you have taken the pause Dave said you
should take, and maybe ask Jingju to really review it, in detail.

>
> since v2,v1:
> - using phy_dev member in struct net_device
> - add commit msg
>
> drivers/net/ethernet/marvell/mvneta.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> index 6dcc951af0ff..02611fa1c3b8 100644
> --- a/drivers/net/ethernet/marvell/mvneta.c
> +++ b/drivers/net/ethernet/marvell/mvneta.c
> @@ -3929,6 +3929,25 @@ static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
> return 0;
> }
>
> +static void mvneta_ethtool_get_wol(struct net_device *dev,
> + struct ethtool_wolinfo *wol)
> +{
> + wol->supported = 0;
> + wol->wolopts = 0;
> +
> + if (dev->phydev)
> + return phy_ethtool_get_wol(dev->phydev, wol);

This is a void function. And you are returning a value. And
phy_ethtool_get_wol() is also a void function, so does not actually
return anything.

0-day was telling you this. Please read what is said.

Andrew