On Thu, 10 Apr 2014, David Laight wrote: > You also definitely don't want to cancel an isoc urb. > Doing so is likely to corrupt the kernel heap. > > If an isoc urb generates multiple TRB the code allocates a little > structure 'per TRB' and links it to the urb. > This seems to be done so that it can tell when all the TRB have > finished so that it can complete the urb. > However if a transfer is aborted they get freed individually, but > they were allocated as a single item. > I actually suspect the driver doesn't care about the early TRB, > so shouldn't need the list at all. You've got it backward: We _do_ want to cancel isochronous URBs sometimes. If doing so will corrupt the kernel heap then the driver needs to be fixed. Alan Stern -- 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