WebLet the dwc3_stop_active_transfer() do > that checking. > Hi Thinh, Thanks for the detailed review, as always. Got it, we can allow that to catch it based off the … Webdwc3_stop_active_transfer(dwc, dep->number, true); dep->flags = DWC3_EP_ENABLED; } else { u32 cur_uf; cur_uf = __dwc3_gadget_get_frame(dwc); __dwc3_gadget_start_isoc(dwc, dep, cur_uf); dep->flags &= ~DWC3_EP_PENDING_REQUEST; } return 0; } if ( (dep->flags & DWC3_EP_BUSY) && …
[PATCH] usb: dwc3: gadget: Add 100uS delay after end transfer …
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 … WebApr 13, 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. … bobby moseley obituary
Re: [PATCH v2] usb: dwc3: Stop active transfers before …
WebHowever, if the DWC3_EP_DELAY_STOP is set, it will call the giveback API, which attempts to unlock the dwc->lock. Ideally, the DWC3 gadget should not have pending … WebFeb 3, 2024 · struct dwc3_ep *dep; /* reinitialize physical ep1 */ dep = dwc->eps [1]; dep->flags = DWC3_EP_ENABLED; + dep->trb_enqueue = 0; /* stall is always issued on EP0 */ dep = dwc->eps [0]; __dwc3_gadget_ep_set_halt (dep, 1, false); dep->flags = DWC3_EP_ENABLED; dwc->delayed_status = false; + dep->trb_enqueue = 0; if … Web- Removed patch to modify DEP flags during dwc3_stop_active_transfer(). This was not required after fixing the logic to allow EP xfercomplete events to be handled on EP0. - Added some changes to account for a cable disconnect scenario, where dwc3_gadget_pullup() would not be executed to stop active transfers. Needed to add … bobby moses obituary