Search Linux Wireless

[PATCH] p54usb: fix conflict with recent usb changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A recent change in the usb core "USB: change interface to usb_lock_device_for_reset()" 
conflicts with "p54usb: utilize usb_reset_device for 3887".

Sadly, we have to call usb_reset_device before we can upload the firmware on 3887.
Unless someone figures out how to reliably stop the 3887 so the hardware is still usable
next time we want to start it.

Signed-off-by: Christian Lamparter <chunkeey@xxxxxx>
---
John,

I guess this patch should be in the next wireless-2.6 pull.
And it would be nice, if you can put "[PATCH] p54: fix p54_set_key's return code" in there too. 
---
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
index 4d54826..3bfee58 100644
--- a/drivers/net/wireless/p54/p54usb.c
+++ b/drivers/net/wireless/p54/p54usb.c
@@ -435,14 +435,16 @@ static const char p54u_firmware_upload_3887[] = "<\r";
 static int p54u_device_reset_3887(struct ieee80211_hw *dev)
 {
 	struct p54u_priv *priv = dev->priv;
-	int ret, lock;
+	int ret, lock = (priv->intf->condition != USB_INTERFACE_BINDING);
 	u8 buf[4];
 
-	ret = lock = usb_lock_device_for_reset(priv->udev, priv->intf);
-	if (ret < 0) {
-		dev_err(&priv->udev->dev, "(p54usb) unable to lock device for "
-			"reset: %d\n", ret);
-		return ret;
+	if (lock) {
+		ret = usb_lock_device_for_reset(priv->udev, priv->intf);
+		if (ret < 0) {
+			dev_err(&priv->udev->dev, "(p54usb) unable to lock "
+				" device for reset: %d\n", ret);
+			return ret;
+		}
 	}
 
 	ret = usb_reset_device(priv->udev);
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux