2016-04-25 17:41:55

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH] net: ethernet: davinci_emac: Fix devioctl while in fixed link

When configured in fixed link, the DaVinci emac driver sets the
priv->phydev to NULL and further ioctl calls to the phy_mii_ioctl()
causes the kernel to crash.

Cc: Brian Hutchinson <[email protected]>
Fixes: 1bb6aa56bb38 ("net: davinci_emac: Add support for fixed-link PHY")
Signed-off-by: Neil Armstrong <[email protected]>
---
drivers/net/ethernet/ti/davinci_emac.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index 58d58f0..f56d66e 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1512,7 +1512,10 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd)

/* TODO: Add phy read and write and private statistics get feature */

- return phy_mii_ioctl(priv->phydev, ifrq, cmd);
+ if (priv->phydev)
+ return phy_mii_ioctl(priv->phydev, ifrq, cmd);
+ else
+ return -EOPNOTSUPP;
}

static int match_first_device(struct device *dev, void *data)
--
1.9.1


2016-04-26 06:07:48

by Mugunthan V N

[permalink] [raw]
Subject: Re: [PATCH] net: ethernet: davinci_emac: Fix devioctl while in fixed link

On Monday 25 April 2016 11:11 PM, Neil Armstrong wrote:
> When configured in fixed link, the DaVinci emac driver sets the
> priv->phydev to NULL and further ioctl calls to the phy_mii_ioctl()
> causes the kernel to crash.
>
> Cc: Brian Hutchinson <[email protected]>
> Fixes: 1bb6aa56bb38 ("net: davinci_emac: Add support for fixed-link PHY")
> Signed-off-by: Neil Armstrong <[email protected]>

Reviewed-by: Mugunthan V N <[email protected]>

Regards
Mugunthan V N

2016-04-28 19:52:13

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: ethernet: davinci_emac: Fix devioctl while in fixed link

From: Neil Armstrong <[email protected]>
Date: Mon, 25 Apr 2016 19:41:38 +0200

> When configured in fixed link, the DaVinci emac driver sets the
> priv->phydev to NULL and further ioctl calls to the phy_mii_ioctl()
> causes the kernel to crash.
>
> Cc: Brian Hutchinson <[email protected]>
> Fixes: 1bb6aa56bb38 ("net: davinci_emac: Add support for fixed-link PHY")
> Signed-off-by: Neil Armstrong <[email protected]>

Applied, thanks Neil.