On Fri, Mar 4, 2022 at 11:51 AM Andrew Lunn <andrew@xxxxxxx> wrote: > But why does it return ENODEV? It seems to me, ignoring it is papering > over the cracks. Why cannot we access to the PHY? The -ENODEV is returned by usb_control_msg(): __smsc95xx_read_reg: -19 usbnet_read_cmd: -19 usb_control_msg: -19 # echo -n "2-1" > /sys/bus/usb/drivers/usb/unbind usb 2-1.1: USB disconnect, device number 3 smsc95xx 2-1.1:1.0 eth1: unregister 'smsc95xx' usb-ci_hdrc.1-1.1, smsc95xx USB 2.0 Ethernet libphy: *********** phy_disconnect: 1 libphy: *********** phy_disconnect: 2 ********** returning -ENODEV from usb_control_msg *********** returning -ENODEV from __usbnet_read_cmd smsc95xx 2-1.1:1.0 eth1: Failed to read reg index 0x00000114: -19 smsc95xx 2-1.1:1.0 eth1: Error reading MII_ACCESS smsc95xx 2-1.1:1.0 eth1: __smsc95xx_mdio_read: MII is busy