Don't bother having a separate cancellable transfer struct for usb transfers, simply include the list in the usb_transfer struct.