Hi Veeraiyan, > From: Veeraiyan Chidambaram, Sent: Thursday, September 5, 2019 6:18 PM > > In R-Car Gen3 USB 3.0 Function, if host is detached an interrupt > will be generated and Suspended state bit is set in interrupt status > register. Interrupt handler will call driver->suspend(composite_suspend) > if suspended state bit is set. composite_suspend will call > ffs_func_suspend which will post FUNCTIONFS_SUSPEND and will be consumed > by user space application via /dev/ep0. > > To be able to detect the host detach, USB_INT_1_B2_SPND to cover the > Suspended bit of the B2_SPND_OUT[9] from the USB Status Register > (USB_STA) register and perform appropriate action in the > usb3_irq_epc_int_1 function. > > Without this commit, disconnection of the phone from R-Car H3 ES2.0 > Salvator-X CN11 port is not recognized and reverse role switch does > not happen. If phone is connected again it does not enumerate. > > With this commit, disconnection will be recognized and reverse role > switch will happen by a user space application. If phone is connected > again it will enumerate properly and will become visible in the > output of 'lsusb'. > > Signed-off-by: Veeraiyan Chidambaram <veeraiyan.chidambaram@xxxxxxxxxxxx> Thank you for the patch! Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> And, I tested this patch on my environment [1] and works correctly. So, Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> [1] - Two R-Car Gen3 boards. -- with minor customized this driver for switching b_device role. - Connected a usb cable to each CN11. -- Use g_mass_storage.ko. Best regards, Yoshihiro Shimoda