Hi Sarah, I've been looking into UAS support for hcds without support for sg. My plan is: usb_sg_wait - drop re-allocs in uas_submit_urbs(). If uas_queuecommand_lck() -> uas_submit_urbs() did not allocate all the memory it needs, we drop re-try attempts. - provide usb_sg_submit_async() which works similar to usb_sg_wait(). It will submitt all urbs and does not wait for them to complete. Once all URBs are done, it will call caller's ->complete() and UAS gets back into the game. What do you think? I remember you had planns of your own to remove the workqueue and add some error handling. 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