WebApr 10, 2024 · This is due to the pending endxfers, leading to gadget start (w/o lock. held) to execute the remove requests, which will unlock the dwc3. spinlock as part of giveback. To mitigate this, resolve the pending endxfers on the pullup disable. path by re-locating the SETUP phase check after stop active transfers, since. Webusb: dwc3: remove WARN_ON from dwc_stop_active_transfer Now we are sure that, if res_trans_idx is zero, then endpoint has been stopped. So it's safe to just return if …
[RFC 2/6] usb/dwc3: fix isoc END TRANSFER Condition - narkive
Web* this request is issued with start transfer. The request will be out * from this list in 2 cases. The first is that the transfer will be * completed (not if the transfer is endless using a circular TRBs with * with link TRB). The second case is an option to do stop stransfer, * this can be initiated by the function driver when calling dequeue. */ Web- dwc3_stop_active_transfer(dwc, dep->number); + dwc3_stop_active_transfer(dwc, dep->number); - /* - * NOTICE: We are violating what the Databook says about the - * … flushing state
linux-xlnx/gadget_hibernation.c at master · Xilinx/linux-xlnx
Web*PATCH] usb: dwc3: gadget: Add 100uS delay after end transfer command without IOC @ 2024-02-27 23:20 Wesley Cheng 2024-02-28 2:19 ` Thinh Nguyen 0 siblings, 1 reply; 7+ messages in thread From: Wesley Cheng @ 2024-02-27 23:20 UTC (permalink / raw) To: gregkh, Thinh.Nguyen; +Cc: linux-kernel, linux-usb, quic_jackp, Wesley Cheng … http://visa.lab.asu.edu/gitlab/fstrace/android-kernel-msm-hammerhead-3.4-marshmallow-mr3/commit/bb2a72cb70d6ce799ffd1d2c52c376d90e63afc8 Web- dwc3_stop_active_transfer (dwc, dep->number); + if (list_empty (&dep->req_queued)) { + dwc3_stop_active_transfer (dwc, dep->number); + dep->flags = DWC3_EP_ENABLED; + } return 0; } + ret = __dwc3_gadget_kick_transfer (dep, 0, true); if (ret && ret != -EBUSY) { struct dwc3 *dwc = dep->dwc; flushing stop leak from radiator