* IRQ line, and calls hcd_start method.
*/
irq = platform_get_irq(_dev, 0);
- retval = usb_add_hcd(hcd, irq, IRQF_SHARED | IRQF_DISABLED);
+ retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (retval < 0) {
goto error2;
}
* IRQ line, and calls hcd_start method.
*/
irq = platform_get_irq(_dev, 0);
- retval = usb_add_hcd(hcd, irq, IRQF_SHARED | IRQF_DISABLED);
+ retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (retval < 0) {
goto error2;
}
}
#endif
- if (unlikely(atomic_read(&urb->use_count) > 1)) {
+ if (unlikely(atomic_read(&urb->use_count) > 1) && urb->hcpriv) {
retval = -EPERM;
printk("%s urb %p already in queue, qtd %p, use_count %d\n",
__func__, urb, urb->hcpriv,