git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
USB: serial: pl2303: new device id for Chilitag
[pandora-kernel.git]
/
drivers
/
usb
/
serial
/
bus.c
diff --git
a/drivers/usb/serial/bus.c
b/drivers/usb/serial/bus.c
index
7f547dc
..
a8dc799
100644
(file)
--- a/
drivers/usb/serial/bus.c
+++ b/
drivers/usb/serial/bus.c
@@
-52,6
+52,7
@@
static int usb_serial_device_probe(struct device *dev)
{
struct usb_serial_driver *driver;
struct usb_serial_port *port;
{
struct usb_serial_driver *driver;
struct usb_serial_port *port;
+ struct device *tty_dev;
int retval = 0;
int minor;
int retval = 0;
int minor;
@@
-73,12
+74,20
@@
static int usb_serial_device_probe(struct device *dev)
retval = device_create_file(dev, &dev_attr_port_number);
if (retval) {
if (driver->port_remove)
retval = device_create_file(dev, &dev_attr_port_number);
if (retval) {
if (driver->port_remove)
-
retval =
driver->port_remove(port);
+ driver->port_remove(port);
goto exit;
}
minor = port->number;
goto exit;
}
minor = port->number;
- tty_register_device(usb_serial_tty_driver, minor, dev);
+ tty_dev = tty_register_device(usb_serial_tty_driver, minor, dev);
+ if (IS_ERR(tty_dev)) {
+ retval = PTR_ERR(tty_dev);
+ device_remove_file(dev, &dev_attr_port_number);
+ if (driver->port_remove)
+ driver->port_remove(port);
+ goto exit;
+ }
+
dev_info(&port->serial->dev->dev,
"%s converter now attached to ttyUSB%d\n",
driver->description, minor);
dev_info(&port->serial->dev->dev,
"%s converter now attached to ttyUSB%d\n",
driver->description, minor);