net: usb: asix: replace mii_nway_restart in resume path
authorAlexander Couzens <lynxis@fe80.eu>
Tue, 17 Jul 2018 11:17:09 +0000 (13:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Jul 2018 09:25:10 +0000 (11:25 +0200)
commit78cdeb665fb1f4cdc8fdbb95c584f916ba11f0f1
treed1ba8e751376b8279336860dc20848f424cbb6ca
parentbbf9b1a46420191fe147a3d83bdce71fe594fea3
net: usb: asix: replace mii_nway_restart in resume path

[ Upstream commit 5c968f48021a9b3faa61ac2543cfab32461c0e05 ]

mii_nway_restart is not pm aware which results in a rtnl deadlock.
Implement mii_nway_restart manual by setting BMCR_ANRESTART if
BMCR_ANENABLE is set.

To reproduce:
* plug an asix based usb network interface
* wait until the device enters PM (~5 sec)
* `ip link set eth1 up` will never return

Fixes: d9fe64e51114 ("net: asix: Add in_pm parameter")
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/asix_devices.c