In message: [linux-yocto][v5.10/standard/preempt-rt/sdkv5.10/xlnx-soc][PATCH] usb: dwc3: gadget: add missing part for "Return proper request status" on 31/05/2022 [email protected] wrote:
> From: Quanyang Wang <[email protected]> > > The commit bd7f84708ea02 ("usb: dwc3: gadget: Return proper request > status") loses part of mainline commit. Let's bring it back. > > And it fixes the compile warning: > drivers/usb/dwc3/gadget.c:2944:6: warning: unused variable ‘request_status’ > [-Wunused-variable] > 2944 | int request_status; > | ^~~~~~~~~~~~~~ > > Signed-off-by: Quanyang Wang <[email protected]> > --- > Hi Bruce, > Would you please help merge this patch to the branches: > v5.10/standard/preempt-rt/sdkv5.10/xlnx-soc > v5.10/standard/sdkv5.10/xlnx-soc merged. Bruce > Thanks, > Quanyang > --- > drivers/usb/dwc3/gadget.c | 30 +++++++++++++++++++++++++++++- > 1 file changed, 29 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index 0ddd5536a225f..2bc6d71fb9517 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -2973,7 +2973,35 @@ static int > dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep, > } > } > > - dwc3_gadget_giveback(dep, req, status); > + /* > + * The event status only reflects the status of the TRB with IOC set. > + * For the requests that don't set interrupt on completion, the driver > + * needs to check and return the status of the completed TRBs associated > + * with the request. Use the status of the last TRB of the request. > + */ > + if (req->request.no_interrupt) { > + struct dwc3_trb *trb; > + > + trb = dwc3_ep_prev_trb(dep, dep->trb_dequeue); > + switch (DWC3_TRB_SIZE_TRBSTS(trb->size)) { > + case DWC3_TRBSTS_MISSED_ISOC: > + /* Isoc endpoint only */ > + request_status = -EXDEV; > + break; > + case DWC3_TRB_STS_XFER_IN_PROG: > + /* Applicable when End Transfer with ForceRM=0 */ > + case DWC3_TRBSTS_SETUP_PENDING: > + /* Control endpoint only */ > + case DWC3_TRBSTS_OK: > + default: > + request_status = 0; > + break; > + } > + } else { > + request_status = status; > + } > + > + dwc3_gadget_giveback(dep, req, request_status); > > out: > return ret; > -- > 2.25.1 >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11354): https://lists.yoctoproject.org/g/linux-yocto/message/11354 Mute This Topic: https://lists.yoctoproject.org/mt/91444723/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
