On Tue, Aug 21, 2012 at 06:22:35PM -0700, Kevin Cernekee wrote: Just one thing that bit while I was sleeping: The HW acks SetConfig on its own. Once you notice this, you set ->ep0_req_set_cfg and set state in bcm63xx_ep0_do_idle() to EP0_IN_FAKE_STATUS_PHASE. This is I guess the workaround for mass_storage's hold with DELAYED_STATUS and continues with a zero packet. Now two questions: - If a gadget descides not NAK / stall the SetConfig requests. What happens here? - What happens if the host is faster than the UDC. SetConfig returns in usb-storage with "DELAYED_STATUS". HW Acks this. Could the Host send another request before the gadget queues the ep0 request? Sebastian