diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/p54/p54usb.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c index 44d6855bd17c..9539ddcf379f 100644 --- a/drivers/net/wireless/p54/p54usb.c +++ b/drivers/net/wireless/p54/p54usb.c | |||
@@ -430,14 +430,16 @@ static const char p54u_firmware_upload_3887[] = "<\r"; | |||
430 | static int p54u_device_reset_3887(struct ieee80211_hw *dev) | 430 | static int p54u_device_reset_3887(struct ieee80211_hw *dev) |
431 | { | 431 | { |
432 | struct p54u_priv *priv = dev->priv; | 432 | struct p54u_priv *priv = dev->priv; |
433 | int ret, lock; | 433 | int ret, lock = (priv->intf->condition != USB_INTERFACE_BINDING); |
434 | u8 buf[4]; | 434 | u8 buf[4]; |
435 | 435 | ||
436 | ret = lock = usb_lock_device_for_reset(priv->udev, priv->intf); | 436 | if (lock) { |
437 | if (ret < 0) { | 437 | ret = usb_lock_device_for_reset(priv->udev, priv->intf); |
438 | dev_err(&priv->udev->dev, "(p54usb) unable to lock device for " | 438 | if (ret < 0) { |
439 | "reset: %d\n", ret); | 439 | dev_err(&priv->udev->dev, "(p54usb) unable to lock " |
440 | return ret; | 440 | " device for reset: %d\n", ret); |
441 | return ret; | ||
442 | } | ||
441 | } | 443 | } |
442 | 444 | ||
443 | ret = usb_reset_device(priv->udev); | 445 | ret = usb_reset_device(priv->udev); |