Hi Minas,
I am trying to find if dwc2 in OTG mode can pass information to gadget
functions that the host has been disconnected. I am testing on RPi4. In
a datasheet for a different dwc2 implementation
https://www.mouser.cn/datasheet/2/196/Infineon-xmc4500_rm_v1.6_2016-UM-v01_06-EN-598157.pdf
- chapter "16.8.3 Device Disconnection" I found:
===========
The device session ends when the USB cable is disconnected or if the
VBUS is switched off by the host.
The device disconnect flow is as follows:
1. When the USB cable is unplugged or when the VBUS is switched off by
the host, the device core triggers GINTSTS.OTGInt [bit 2] interrupt bit
============
I put a printk to core_intr.c:dwc2_handle_otg_intr() which is called
only from handling the OTGInt interrupt
https://elixir.bootlin.com/linux/v5.1.9/source/drivers/usb/dwc2/core_intr.c#L803
. But this method is not called at all when disconnecting the USB cable
on RPi4 in gadget mode.
The reason I need to identigy the disconnection is my work on signalling
that host has started/stopped audio playback/capture. Everything more or
less works, but disconnecting the cable (which means stopped
playback/capture on the gadget) is not identified in any way.
Thanks a lot,
Pavel.