Skip to content

Commit

Permalink
p54usb: fix conflict with recent usb changes
Browse files Browse the repository at this point in the history
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@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Christian Lamparter authored and John W. Linville committed Jan 29, 2009
1 parent c656bbb commit c88a768
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions drivers/net/wireless/p54/p54usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -430,14 +430,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);
Expand Down

0 comments on commit c88a768

Please sign in to comment.