| From foo@baz Sat 28 Dec 2019 06:01:31 AM EST |
| From: Cristian Birsan <cristian.birsan@microchip.com> |
| Date: Thu, 12 Dec 2019 13:52:47 +0200 |
| Subject: net: usb: lan78xx: Fix suspend/resume PHY register access error |
| |
| From: Cristian Birsan <cristian.birsan@microchip.com> |
| |
| [ Upstream commit 20032b63586ac6c28c936dff696981159913a13f ] |
| |
| Lan78xx driver accesses the PHY registers through MDIO bus over USB |
| connection. When performing a suspend/resume, the PHY registers can be |
| accessed before the USB connection is resumed. This will generate an |
| error and will prevent the device to resume correctly. |
| This patch adds the dependency between the MDIO bus and USB device to |
| allow correct handling of suspend/resume. |
| |
| Fixes: ce85e13ad6ef ("lan78xx: Update to use phylib instead of mii_if_info.") |
| Signed-off-by: Cristian Birsan <cristian.birsan@microchip.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/usb/lan78xx.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/net/usb/lan78xx.c |
| +++ b/drivers/net/usb/lan78xx.c |
| @@ -1765,6 +1765,7 @@ static int lan78xx_mdio_init(struct lan7 |
| dev->mdiobus->read = lan78xx_mdiobus_read; |
| dev->mdiobus->write = lan78xx_mdiobus_write; |
| dev->mdiobus->name = "lan78xx-mdiobus"; |
| + dev->mdiobus->parent = &dev->udev->dev; |
| |
| snprintf(dev->mdiobus->id, MII_BUS_ID_SIZE, "usb-%03d:%03d", |
| dev->udev->bus->busnum, dev->udev->devnum); |