• Thinh Nguyen's avatar
    usb: dwc3: ep0: Fix ZLP for OUT ep0 requests · 66706077
    Thinh Nguyen authored
    The current ZLP handling for ep0 requests is only for control IN
    requests. For OUT direction, DWC3 needs to check and setup for MPS
    alignment.
    
    Usually, control OUT requests can indicate its transfer size via the
    wLength field of the control message. So usb_request->zero is usually
    not needed for OUT direction. To handle ZLP OUT for control endpoint,
    make sure the TRB is MPS size.
    
    Cc: stable@vger.kernel.org
    Fixes: c7fcdeb2 ("usb: dwc3: ep0: simplify EP0 state machine")
    Fixes: d6e5a549 ("usb: dwc3: simplify ZLP handling")
    Signed-off-by: default avatarThinh Nguyen <Thinh.Nguyen@synopsys.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
    66706077
ep0.c 26.7 KB