On Wed, 23 Jan 2013, victor yeo wrote: > Here are the last two setup data and CBW data received. the > get_next_command() is not called when CBW data is received. the It's not supposed to be _called_; it's supposed to be _woken up_. > bulk_out_complete() wakes up the thread, however, get_next_command() > still sleeps. Are you certain? Maybe it gets woken up and then goes back to sleep. > i do not see where req->length is checked in gadget > driver. It isn't _checked_; it is _set_ in set_bulk_out_req_length(). req->actual is checked in received_cbw(). > g_file_storage gadget: ep0-setup, length 8: > 00000000: 00 09 01 00 00 00 00 00 > g_file_storage gadget: set configuration > g_file_storage gadget: ep0-setup, length 8: > 00000000: a1 fe 00 00 00 00 01 00 > g_file_storage gadget: get max LUN > g_file_storage gadget: ep0-in, length 1: > 00000000: 00 > g_file_storage gadget: bulk-out, length 31: > 00000000: 55 53 42 43 a8 48 ed 86 24 00 00 00 80 00 06 12 > 00000010: 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 > g_file_storage gadget: bulk_out_complete --> 0, 31/0 Why is the bulk_out_intended_length field set to 0? Doesn't set_bulk_out_req_length() work right? 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