|
@@ -931,8 +931,10 @@ fail_halt:
|
|
if (urb != NULL) {
|
|
if (urb != NULL) {
|
|
clear_bit (EVENT_RX_MEMORY, &dev->flags);
|
|
clear_bit (EVENT_RX_MEMORY, &dev->flags);
|
|
status = usb_autopm_get_interface(dev->intf);
|
|
status = usb_autopm_get_interface(dev->intf);
|
|
- if (status < 0)
|
|
|
|
|
|
+ if (status < 0) {
|
|
|
|
+ usb_free_urb(urb);
|
|
goto fail_lowmem;
|
|
goto fail_lowmem;
|
|
|
|
+ }
|
|
if (rx_submit (dev, urb, GFP_KERNEL) == -ENOLINK)
|
|
if (rx_submit (dev, urb, GFP_KERNEL) == -ENOLINK)
|
|
resched = 0;
|
|
resched = 0;
|
|
usb_autopm_put_interface(dev->intf);
|
|
usb_autopm_put_interface(dev->intf);
|