mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-28 07:54:36 -05:00
Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null"
This reverts commit 13014969cb.
It is reported to cause crashes on Tegra systems, so revert it for now.
Link: https://lore.kernel.org/r/1037c1ad-9230-4181-b9c3-167dbaa47644@nvidia.com
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Cc: stable <stable@kernel.org>
Cc: Lianqin Hu <hulianqin@vivo.com>
Link: https://lore.kernel.org/r/2025011711-yippee-fever-a737@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -1421,10 +1421,6 @@ void gserial_disconnect(struct gserial *gser)
|
||||
/* REVISIT as above: how best to track this? */
|
||||
port->port_line_coding = gser->port_line_coding;
|
||||
|
||||
/* disable endpoints, aborting down any active I/O */
|
||||
usb_ep_disable(gser->out);
|
||||
usb_ep_disable(gser->in);
|
||||
|
||||
port->port_usb = NULL;
|
||||
gser->ioport = NULL;
|
||||
if (port->port.count > 0) {
|
||||
@@ -1436,6 +1432,10 @@ void gserial_disconnect(struct gserial *gser)
|
||||
spin_unlock(&port->port_lock);
|
||||
spin_unlock_irqrestore(&serial_port_lock, flags);
|
||||
|
||||
/* disable endpoints, aborting down any active I/O */
|
||||
usb_ep_disable(gser->out);
|
||||
usb_ep_disable(gser->in);
|
||||
|
||||
/* finally, free any unused/unusable I/O buffers */
|
||||
spin_lock_irqsave(&port->port_lock, flags);
|
||||
if (port->port.count == 0)
|
||||
|
||||
Reference in New Issue
Block a user