* Arvid Brodin | 2011-04-27 21:43:10 [+0200]: >Sebastian Andrzej Siewior wrote: >> If this is normal please add a comment where this happens. I tried to >> remove the URB from the hardware so it does complete after removal. > >As far as I can see, what happens is that sometimes when unlinking >(dequeueing) an urb with an active ptd, the ptd finishes while >urb_dequeue() is executing within its spinlock, but before the ptd is >zeroed out. This sets the interrupt flag for the ptd, and when the >interrupt is later executed, priv->xxxints[x].qh for the ptd has been >set to NULL by urb_dequeue(). It happens rather frequently when running >the unlink tests in the usbtest suite. I see. Okay so the interrupts occurs while we are holding the spinlock. So it is a tiny race. Could it help if were checking the skip_map? Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html