summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Birsan <cristian.birsan@microchip.com>2019-12-12 13:52:47 +0200
committerDavid S. Miller <davem@davemloft.net>2019-12-12 10:57:12 -0800
commit20032b63586ac6c28c936dff696981159913a13f (patch)
treee29cf37e5e70cf66a099251b53324f39823512e6
parent148709bc278a2e49ff7b10cee2d8cdc33b894598 (diff)
downloadlinux-20032b63586ac6c28c936dff696981159913a13f.tar.bz2
net: usb: lan78xx: Fix suspend/resume PHY register access error
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>
-rw-r--r--drivers/net/usb/lan78xx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index cf1f3f0a4b9b..d7bf1918ca62 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -1808,6 +1808,7 @@ static int lan78xx_mdio_init(struct lan78xx_net *dev)
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);