Hi, >> >> Ok, rephrase the question, is this the flow for bulk transfer? >> >> >> >> 1) data is received by Usb mass storage HW, the UDC driver ISR is >> >> called to read the data to usb_request buffer >> >> 2) bulk_out_complete() in gadget driver, is called to set buffer state to full >> >> 3) get_next_command() in gadget driver, is called to read the CBW. >> >> 4) do_scsi_command() to process SCSI command encoded in CBW >> >> 5) send_status() sends the CSW to host >> > >> > Something like below: >> > >> > OUT Token -> ISR -> giveback() -> bulk_out_complete() -> >> > get_next_command() -> do_scsi_command() -> usb_ep_queue() -> OUT/IN >> > Token -> ISR -> bulk_out_complete() -> send_status() >> >> For the IN Token, i will just write the data to the HW buffer, and the >> flow will go to send_status(). >> >> I use a different USB cable, now the USB gadget is able to receive >> bulk transfer data from host PC. I am working on the bulk transfer >> code. Thank you for the very useful answers. > > np In fsg_dev structure, there are 3 usb_ep: bulk_in, bulk_out, and intr_in. Why is the intr_out endpoint not defined? thanks, victor -- 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