On Sat, 3 Sep 2011, Kautuk Consul wrote: > usb_hcd_giveback_urb frees the urb irrespective of any return > value from the urb->complete function. It calls usb_put_urb which > is #defined to usb_free_urb, so maybe we shouldn't be freeing this > from rx_complete. usb_free_urb() doesn't free its argument unless the refcount drops to 0. The refcount is incremented during usb_hcd_submit_urb(), and the decrement during usb_hcd_giveback_urb() merely undoes this increment. > But I can't get around the fact that this has not been detected as a problem > till now, so I could be quite wrong about this. :) Quite probably. :-) 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