• M
    usb: dwc2: gadget: ISOC's starting flow improvement · 4d4f1e79
    Minas Harutyunyan 提交于
    To start ISOC transfers in handlers dwc2_gadget_handle_nak() and
    dwc2_gadget_handle_out_token_ep_disabled() driver reads current frame
    number, based on which, set target frame number to start first ISOC
    transfer.
    
    In case if system's high IRQ latency and multiple EP's asserted
    interrupt in same frame, there are high probability that when reading
    current frame number in EP's handlers, actual frame number can be
    increased. As result for bInterval > 1, starting target frame
    will be set wrongly and all ISOC packets will be dropped.
    
    In patch "usb: dwc2: Change reading of current frame number flow"
    reading of current frame number done ASAP in common interrupt handler.
    This frame number stored in frame_number variable which used as
    starting frame number for ISOC EP's in above mentioned handlers.
    Signed-off-by: NMinas Harutyunyan <hminas@synopsys.com>
    Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
    4d4f1e79
gadget.c 132.1 KB