|
@@ -600,11 +600,13 @@ static int btusb_close(struct hci_dev *hdev)
|
|
btusb_stop_traffic(data);
|
|
btusb_stop_traffic(data);
|
|
err = usb_autopm_get_interface(data->intf);
|
|
err = usb_autopm_get_interface(data->intf);
|
|
if (err < 0)
|
|
if (err < 0)
|
|
- return 0;
|
|
|
|
|
|
+ goto failed;
|
|
|
|
|
|
data->intf->needs_remote_wakeup = 0;
|
|
data->intf->needs_remote_wakeup = 0;
|
|
usb_autopm_put_interface(data->intf);
|
|
usb_autopm_put_interface(data->intf);
|
|
|
|
|
|
|
|
+failed:
|
|
|
|
+ usb_scuttle_anchored_urbs(&data->deferred);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|