On 2026-08-27 13:18, Anshul Dalal wrote:
> On Wed Aug 26, 2026 at 1:59 PM IST, Anders Roxell wrote:
> > On 2026-08-25 15:12, Anshul Dalal wrote:
> >> On Mon, 24 Aug 2026 17:41:09 +0200, Anders Roxell 
> >> <[email protected]> wrote:
> >> > [...]
> >> > dwc2 with and without DM_USB_GADGET, at91_udc, atmel_usba_udc, ci_udc,
> >> > musb-new and mtu3. 17 boards in total.
> >> > 
> >> > DFU is tested on hardware on BeagleBoard-X15, and on BeaglePlay by
> >> > Anshul. ci_udc is tested on an i.MX93 board with ums. The rest is build
> >> > tested only.
> >> 
> >> Hi Anders,
> >> 
> >> Thanks for reworking the series, I was able to get DFU boot to work 
> >> properly
> >> and the usb devices are being discovered properly too.
> >> 
> >> Though I ran into an issue while using ums with your patches as the host 
> >> isn't
> >> able to detect the connected device. With default logs I only see a
> >> '\dwc3-generic-peripheral usb@31000000: unknown endpoint event 0'.
> >> 
> >> Further debug logs are below on TI's AM62p EVM:
> >> 
> >> @    => ums mmc 1
> >> @    UMS: LUN 0, dev mmc 1, hwpart 0, sector 0x0, count 0x3b72400
> >> @    g_dnl_register: g_dnl_driver.name = usb_dnl_ums
> >> @    g_dnl_bind: gadget: 0x00000000fde7fb68 cdev: 0x00000000fde5cdd0
> >> @    usb_add_config: adding config #1 'usb_dnload'/00000000fde83cc0
> >> @    g_dnl_do_config: configuration: 0x00000000fde83cc0 composite dev: 
> >> 0x00000000fde5cdd0
> >> @    adding 'Mass Storage Function'/00000000fde5c110 to config 
> >> 'usb_dnload'/00000000fde83cc0
> >> @    cfg 1/00000000fde83cc0 speeds: high full
> >> @    usb_add_config: interface 0 = Mass Storage Function/00000000fde5c110
> >> @    g_dnl_bind: calling usb_gadget_connect for controller 'dwc3-gadget'
> >> @    usb_dnl_ums: ready
> >> @    -dwc3-generic-peripheral usb@31000000: unknown endpoint event 0
> >> @    |set_config: high speed config #1: usb_dnload
> >> @    \non-core control reqa1.fe v0000 i0000 l1
> >> 
> >> I observed a similar issue on the beagleplay too. Regards!
> >
> > Hi Anshul,
> >
> > I could reproduce it on my BeagleBoard-X15. First I only saw it connect
> > and got happy, so I forgot to look for the disk. It never shows up, and
> > the host gives up after 20 seconds.
> >
> > The resync dropped the cache maintenance in dwc3 gadget.c. The
> > controller reads a stale trb and nothing moves, that is your "unknown
> > endpoint event 0". DFU still worked because it only uses ep0.
> >
> > With the diff below the disk shows up and 64 MiB reads back correctly.
> > It applies on v7.
> >
> > Can you try ums on AM62p and BeaglePlay? Please let me know how it goes
> > before I send the next version.
> 
> Thanks for the fix Anders, the block device shows up properly now.
> However the 'dwc3-generic-peripheral usb@31000000: unknown endpoint
> event 0' error log remains, is this expected?


Good, thanks for testing.

I do not see that message on my X15. In your first log it comes once,
between "ready" and set_config, so it is during enumeration and not on
the transfer path. The event loop is the same as in Linux v6.16.

Do you see it on plain mainline, without my patches? If it is there too
then the resync did not cause it, and it can be fixed on its own. If
mainline is clean then I broke it, and then it has to be fixed in this
series.

If it is new, can you print the raw word and send me what it says?
Event 0 is not a real endpoint event, the defined ones are 1 to 7, so
some word is decoded that should not be.

  --- a/drivers/usb/dwc3/gadget.c
  +++ b/drivers/usb/dwc3/gadget.c
  @@ static void dwc3_process_event_entry(struct dwc3 *dwc,
                const union dwc3_event *event)
   {
  +     printf("evt raw %08x\n", event->raw);
  +
        if (!event->type.is_devspec)

Cheers,
Anders

Reply via email to