[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <33a19657-a890-4d59-b7ea-5798cf8f7d9b@oss.qualcomm.com>
Date: Thu, 6 Feb 2025 09:54:09 +0530
From: Prashanth K <prashanth.k@....qualcomm.com>
To: Pelle Windestam <pelle@...destam.se>,
胡连勤
<hulianqin@...o.com>,
"gregkh@...uxfoundation.org"
<gregkh@...uxfoundation.org>,
Dan Carpenter <dan.carpenter@...aro.org>,
Jon Hunter <jonathanh@...dia.com>
Cc: "mwalle@...nel.org" <mwalle@...nel.org>,
"quic_jjohnson@...cinc.com" <quic_jjohnson@...cinc.com>,
David Brownell <dbrownell@...rs.sourceforge.net>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"opensource.kernel" <opensource.kernel@...o.com>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
Brad Griffis <bgriffis@...dia.com>,
Harshit Mogalapalli <harshit.m.mogalapalli@...il.com>
Subject: Re: 答复: [PATCH v3] usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null
On 06-02-25 12:59 am, Pelle Windestam wrote:
>>>>>> Odd, you have a usb-serial gadget device in this system that is
>>>>>> disconnecting somehow? That oops doesn't point to anything in the
>>>>>> usb gadget codebase, "all" we have done is move the call to
>>>>>> shutdown the endpoints to earlier in the disconnect function.
>>>>>
>>>>> Yes the board starts usb-serial and usb-ethernet gadget and on
>>>>> reboot when tearing it down I am seeing the above. As soon as it
>>>>> disables the tegra-xudc endpoints (as seen above) the board appears to
>>> stall.
>>>>>
>>>>>> I'm glad to revert this, but it feels really odd that this is
>>>>>> causing you an rcu stall issue.
>>>>>
>>>>> Thanks. I can't say I understand it either, but I am certain it is
>>>>> caused by this change.
>>>>>
>
> I do not have much to add in terms of solutions but want to chime in
> that the same issue happened to me the other day when I upgraded my
> kernel. It manifests itself with the rcu stall whenever I try to reboot
> my device with the USB-cable connected (it is a usb-serial gadget
> device). Moving the usb_ep_disable() calls to outside the lock (where
> they were before the patch) solves it.
Are you also using tegra-xudc ? ep_disable routine may be called in an
atomic (interrupt) context.
Regards,
Prashanth K
Powered by blists - more mailing lists