usbnet: allow "minidriver" to prevent urb unlinking on usbnet_stop
rndis_wlan devices freeze after running usbnet_stop several times. It appears that firmware freezes in state where it does not respond to any RNDIS commands and device have to be physically unplugged/replugged. This patch lets minidrivers to disable unlink_urbs on usbnet_stop through new info flag. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Cc: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
e40cbdac06
commit
1487cd5e76
@@ -2513,7 +2513,8 @@ static int rndis_wlan_stop(struct usbnet *usbdev)
|
||||
|
||||
static const struct driver_info bcm4320b_info = {
|
||||
.description = "Wireless RNDIS device, BCM4320b based",
|
||||
.flags = FLAG_WLAN | FLAG_FRAMING_RN | FLAG_NO_SETINT,
|
||||
.flags = FLAG_WLAN | FLAG_FRAMING_RN | FLAG_NO_SETINT |
|
||||
FLAG_AVOID_UNLINK_URBS,
|
||||
.bind = rndis_wlan_bind,
|
||||
.unbind = rndis_wlan_unbind,
|
||||
.status = rndis_status,
|
||||
@@ -2527,7 +2528,8 @@ static const struct driver_info bcm4320b_info = {
|
||||
|
||||
static const struct driver_info bcm4320a_info = {
|
||||
.description = "Wireless RNDIS device, BCM4320a based",
|
||||
.flags = FLAG_WLAN | FLAG_FRAMING_RN | FLAG_NO_SETINT,
|
||||
.flags = FLAG_WLAN | FLAG_FRAMING_RN | FLAG_NO_SETINT |
|
||||
FLAG_AVOID_UNLINK_URBS,
|
||||
.bind = rndis_wlan_bind,
|
||||
.unbind = rndis_wlan_unbind,
|
||||
.status = rndis_status,
|
||||
@@ -2541,7 +2543,8 @@ static const struct driver_info bcm4320a_info = {
|
||||
|
||||
static const struct driver_info rndis_wlan_info = {
|
||||
.description = "Wireless RNDIS device",
|
||||
.flags = FLAG_WLAN | FLAG_FRAMING_RN | FLAG_NO_SETINT,
|
||||
.flags = FLAG_WLAN | FLAG_FRAMING_RN | FLAG_NO_SETINT |
|
||||
FLAG_AVOID_UNLINK_URBS,
|
||||
.bind = rndis_wlan_bind,
|
||||
.unbind = rndis_wlan_unbind,
|
||||
.status = rndis_status,
|
||||
|
Reference in New Issue
Block a user