aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/p54/p54usb.c14
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";
430static int p54u_device_reset_3887(struct ieee80211_hw *dev) 430static 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);