答复: 答复: [PATCH v3] usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null
From: 胡连勤
Date: Wed Feb 05 2025 - 21:36:50 EST
Hi Pelle Windestam:
> >>>>> 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.
I apologize again. I didn't consider it comprehensively. The modification plan has introduced serious negative problems for you.
The main line of the patch has been rolled back.
https://lore.kernel.org/all/2025011711-yippee-fever-a737@gregkh/
Thanks