• T
    usb: dwc3: gadget: Properly check last unaligned/zero chain TRB · ba3a51ac
    Thinh Nguyen 提交于
    Current check for the last extra TRB for zero and unaligned transfers
    does not account for isoc OUT. The last TRB of the Buffer Descriptor for
    isoc OUT transfers will be retired with HWO=0. As a result, we won't
    return early. The req->remaining will be updated to include the BUFSIZ
    count of the extra TRB, and the actual number of transferred bytes
    calculation will be wrong.
    
    To fix this, check whether it's a short or zero packet and the last TRB
    chain bit to return early.
    
    Fixes: c6267a51 ("usb: dwc3: gadget: align transfers to wMaxPacketSize")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NThinh Nguyen <thinhn@synopsys.com>
    Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
    ba3a51ac
gadget.c 81.5 KB