summaryrefslogtreecommitdiff
path: root/drivers/usb/serial/usb-serial.c
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>2009-06-25 14:41:37 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-25 11:24:26 -0700
commitf4fa446883959c1c5f314a043e750dbfe3728c55 (patch)
tree0fc52fa5d10247a99c403dd83704415ac4dcb750 /drivers/usb/serial/usb-serial.c
parent922b13565b6a826a925f9f91f053dc9cb0d6210e (diff)
downloadlinux-3.10-f4fa446883959c1c5f314a043e750dbfe3728c55.tar.gz
linux-3.10-f4fa446883959c1c5f314a043e750dbfe3728c55.tar.bz2
linux-3.10-f4fa446883959c1c5f314a043e750dbfe3728c55.zip
usb_serial: Fix oops when unexisting usb serial device is opened.
This commit 335f8514f200e63d689113d29cb7253a5c282967 has stopped properly checking if there is any usb serial associated with the tty in the close function. It happens the close function is called by releasing the terminal right after opening the device fails. As an example, open fails with a non-existing device, when probe has never been called, because the device has never been plugged. This is common in systems with static modules and no udev. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/usb/serial/usb-serial.c')
-rw-r--r--drivers/usb/serial/usb-serial.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index d595aa5586a..a84216464ca 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -333,6 +333,9 @@ static void serial_close(struct tty_struct *tty, struct file *filp)
{
struct usb_serial_port *port = tty->driver_data;
+ if (!port)
+ return;
+
dbg("%s - port %d", __func__, port->number);