RE: [PATCH] usb: cdns3: Fix: ARM core hang after connect/disconnect operation.
From: Pawel Laszczak
Date: Wed Jan 08 2020 - 23:16:49 EST
Hi,
>
>
>On Wed, Jan 08, 2020 at 12:37:18PM +0100, Pawel Laszczak wrote:
>> The ARM core hang when access USB register after tens of thousands
>> connect/disconnect operation.
>>
>> The issue was observed on platform with android system and is not easy
>> to reproduce. During test controller works at HS device mode with host
>> connected.
>>
>> The test is based on continuous disabling/enabling USB device function
>> what cause continuous setting DEVDS/DEVEN bit in USB_CONF register.
>>
>> For testing was used composite device consisting from ADP and RNDIS
>> function.
>>
>> Presumably the problem was caused by DMA transfer made after setting
>> DEVDS bit. To resolve this issue fix stops all DMA transfer before
>> setting DEVDS bit.
>>
>> Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx>
>> Signed-off-by: Peter Chan <peter.chan@xxxxxxx>
>> Reported-by: Peter Chan <peter.chan@xxxxxxx>
>> Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
>> ---
>> drivers/usb/cdns3/gadget.c | 84 ++++++++++++++++++++++++++------------
>> drivers/usb/cdns3/gadget.h | 1 +
>> 2 files changed, 58 insertions(+), 27 deletions(-)
>
>Any reason to forget linux-usb@xxxxxxxxxxxxxxx for usb patches?
No reason. I missed it.
+ linux-usb@xxxxxxxxxxxxxxx
Thanks,
Pawell
>
>thanks,
>
>greg k-h