Re: [PATCH] net: phy: fix uninitalized ethtool_wolinfo in phy_suspend

From: Ben Hutchings
Date: Fri Mar 14 2014 - 10:18:29 EST


On Fri, 2014-03-14 at 10:07 +0100, Sebastian Hesselbarth wrote:
> Callers of phy_ethtool_get_wol are supposed to provide a properly
> cleared struct ethtool_wolinfo. Therefore, fix phy_suspend to clear
> it before passing it to phy_ethtool_get_wol.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx>

Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>

> ---
> Cc: David Miller <davem@xxxxxxxxxxxxx>
> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> drivers/net/phy/phy_device.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> index 4b03e63639b7..7512e28866f1 100644
> --- a/drivers/net/phy/phy_device.c
> +++ b/drivers/net/phy/phy_device.c
> @@ -683,10 +683,9 @@ EXPORT_SYMBOL(phy_detach);
> int phy_suspend(struct phy_device *phydev)
> {
> struct phy_driver *phydrv = to_phy_driver(phydev->dev.driver);
> - struct ethtool_wolinfo wol;
> + struct ethtool_wolinfo wol = { .cmd = ETHTOOL_GWOL };
>
> /* If the device has WOL enabled, we cannot suspend the PHY */
> - wol.cmd = ETHTOOL_GWOL;
> phy_ethtool_get_wol(phydev, &wol);
> if (wol.wolopts)
> return -EBUSY;

--
Ben Hutchings
Experience is directly proportional to the value of equipment destroyed.
- Carolyn Scheppner

Attachment: signature.asc
Description: This is a digitally signed message part