[PATCH 001] USB: Error handling bug fix for serial_open()

From: Richard Pearman
Date: Sun Oct 21 2007 - 23:57:23 EST


From: Richard Pearman <richard.pearman@xxxxxxxxxxxxxxxx>
From: Greg Breen <greg.breen@xxxxxxxxxxxxxxxx>

When an error occurs in serial_open() ensure that port->tty and tty->driver_data are set to NULL, if previously assigned a value in the function.

Signed-off-by: Richard S. Pearman <richard.pearman@xxxxxxxxxxxxxxxx>
---
--- linux-2.6.17.1/drivers/usb/serial/usb-serial.c.orig Mon Oct 22 11:12:29 2007
+++ linux-2.6.17.1/drivers/usb/serial/usb-serial.c Mon Oct 22 11:12:23 2007
@@ -230,6 +230,8 @@ bailout_module_put:
module_put(serial->type->driver.owner);
bailout_mutex_unlock:
port->open_count = 0;
+ port->tty = NULL;
+ tty->driver_data = NULL; mutex_unlock(&port->mutex);
bailout_kref_put:
kref_put(&serial->kref, destroy_serial); begin:vcard
fn:Richard Pearman
n:Pearman;Richard
org:Intellect Australia;Embedded Systems Team
adr:EIR Building, Technology Park, Bentley;;Suite 11 and 12, 1 Sarich Way;Perth;WA;6102;Australia
email;internet:richard.pearman@xxxxxxxxxxxxxxxx
title:Senior embedded systems engineer
tel;work:+61 (08) 9472 2271
tel;fax:+61 (08) 9470 2584
x-mozilla-html:FALSE
url:http://www.intellect.be
version:2.1
end:vcard