summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/usb-serial.c
diff options
context:
space:
mode:
authorOliver Neukum2007-01-13 07:32:27 +0100
committerGreg Kroah-Hartman2007-02-08 00:44:38 +0100
commit3ff4fd94c86259e44d58946af34231a1586b5d93 (patch)
treed940b19178246076e8fec2e7869b24e05e1a9b58 /drivers/usb/serial/usb-serial.c
parentUSB: race fixes for usb-serial, step 2 (diff)
downloadkernel-qcow2-linux-3ff4fd94c86259e44d58946af34231a1586b5d93.tar.gz
kernel-qcow2-linux-3ff4fd94c86259e44d58946af34231a1586b5d93.tar.xz
kernel-qcow2-linux-3ff4fd94c86259e44d58946af34231a1586b5d93.zip
USB: race fixes for usb-serial, step 3
- fix an error code returned if a device has been disconnected Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/usb-serial.c')
-rw-r--r--drivers/usb/serial/usb-serial.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 685fb69bcc32..6bf22a28adb8 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -281,7 +281,7 @@ static void serial_close(struct tty_struct *tty, struct file * filp)
static int serial_write (struct tty_struct * tty, const unsigned char *buf, int count)
{
struct usb_serial_port *port = tty->driver_data;
- int retval = -EINVAL;
+ int retval = -ENODEV;
if (!port || port->serial->dev->state == USB_STATE_NOTATTACHED)
goto exit;
@@ -289,6 +289,7 @@ static int serial_write (struct tty_struct * tty, const unsigned char *buf, int
dbg("%s - port %d, %d byte(s)", __FUNCTION__, port->number, count);
if (!port->open_count) {
+ retval = -EINVAL;
dbg("%s - port not opened", __FUNCTION__);
goto exit;
}