diff options
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 6 | ||||
-rw-r--r-- | drivers/usb/serial/ftdi_sio.h | 10 | ||||
-rw-r--r-- | drivers/usb/serial/usb-serial.c | 10 | ||||
-rw-r--r-- | drivers/usb/serial/visor.c | 3 | ||||
-rw-r--r-- | drivers/usb/serial/visor.h | 3 |
5 files changed, 26 insertions, 6 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index f2b4ca8692d8..c145e1ed8429 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
@@ -469,8 +469,14 @@ static struct usb_device_id id_table_combined [] = { | |||
469 | { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_7_PID) }, | 469 | { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_7_PID) }, |
470 | { USB_DEVICE(MOBILITY_VID, MOBILITY_USB_SERIAL_PID) }, | 470 | { USB_DEVICE(MOBILITY_VID, MOBILITY_USB_SERIAL_PID) }, |
471 | { USB_DEVICE(FTDI_VID, FTDI_ACTIVE_ROBOTS_PID) }, | 471 | { USB_DEVICE(FTDI_VID, FTDI_ACTIVE_ROBOTS_PID) }, |
472 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_KW_PID) }, | ||
473 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_YS_PID) }, | ||
472 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_Y6_PID) }, | 474 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_Y6_PID) }, |
473 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_Y8_PID) }, | 475 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_Y8_PID) }, |
476 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_IC_PID) }, | ||
477 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_DB9_PID) }, | ||
478 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_RS232_PID) }, | ||
479 | { USB_DEVICE(FTDI_VID, FTDI_MHAM_Y9_PID) }, | ||
474 | { USB_DEVICE(FTDI_VID, FTDI_TERATRONIK_VCP_PID) }, | 480 | { USB_DEVICE(FTDI_VID, FTDI_TERATRONIK_VCP_PID) }, |
475 | { USB_DEVICE(FTDI_VID, FTDI_TERATRONIK_D2XX_PID) }, | 481 | { USB_DEVICE(FTDI_VID, FTDI_TERATRONIK_D2XX_PID) }, |
476 | { USB_DEVICE(EVOLUTION_VID, EVOLUTION_ER1_PID) }, | 482 | { USB_DEVICE(EVOLUTION_VID, EVOLUTION_ER1_PID) }, |
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index ca40f16370f1..bdef3b8c731f 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h | |||
@@ -333,10 +333,18 @@ | |||
333 | 333 | ||
334 | /* | 334 | /* |
335 | * microHAM product IDs (http://www.microham.com). | 335 | * microHAM product IDs (http://www.microham.com). |
336 | * Submitted by Justin Burket (KL1RL) <zorton@jtan.com>. | 336 | * Submitted by Justin Burket (KL1RL) <zorton@jtan.com> |
337 | * and Mike Studer (K6EEP) <k6eep@hamsoftware.org>. | ||
338 | * Ian Abbott <abbotti@mev.co.uk> added a few more from the driver INF file. | ||
337 | */ | 339 | */ |
340 | #define FTDI_MHAM_KW_PID 0xEEE8 /* USB-KW interface */ | ||
341 | #define FTDI_MHAM_YS_PID 0xEEE9 /* USB-YS interface */ | ||
338 | #define FTDI_MHAM_Y6_PID 0xEEEA /* USB-Y6 interface */ | 342 | #define FTDI_MHAM_Y6_PID 0xEEEA /* USB-Y6 interface */ |
339 | #define FTDI_MHAM_Y8_PID 0xEEEB /* USB-Y8 interface */ | 343 | #define FTDI_MHAM_Y8_PID 0xEEEB /* USB-Y8 interface */ |
344 | #define FTDI_MHAM_IC_PID 0xEEEC /* USB-IC interface */ | ||
345 | #define FTDI_MHAM_DB9_PID 0xEEED /* USB-DB9 interface */ | ||
346 | #define FTDI_MHAM_RS232_PID 0xEEEE /* USB-RS232 interface */ | ||
347 | #define FTDI_MHAM_Y9_PID 0xEEEF /* USB-Y9 interface */ | ||
340 | 348 | ||
341 | /* | 349 | /* |
342 | * Active Robots product ids. | 350 | * Active Robots product ids. |
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index 4dd6865d32b0..b5c96e74a903 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c | |||
@@ -242,8 +242,10 @@ static void serial_close(struct tty_struct *tty, struct file * filp) | |||
242 | 242 | ||
243 | down(&port->sem); | 243 | down(&port->sem); |
244 | 244 | ||
245 | if (port->open_count == 0) | 245 | if (port->open_count == 0) { |
246 | goto out; | 246 | up(&port->sem); |
247 | return; | ||
248 | } | ||
247 | 249 | ||
248 | --port->open_count; | 250 | --port->open_count; |
249 | if (port->open_count == 0) { | 251 | if (port->open_count == 0) { |
@@ -260,10 +262,8 @@ static void serial_close(struct tty_struct *tty, struct file * filp) | |||
260 | module_put(port->serial->type->driver.owner); | 262 | module_put(port->serial->type->driver.owner); |
261 | } | 263 | } |
262 | 264 | ||
263 | kref_put(&port->serial->kref, destroy_serial); | ||
264 | |||
265 | out: | ||
266 | up(&port->sem); | 265 | up(&port->sem); |
266 | kref_put(&port->serial->kref, destroy_serial); | ||
267 | } | 267 | } |
268 | 268 | ||
269 | static int serial_write (struct tty_struct * tty, const unsigned char *buf, int count) | 269 | static int serial_write (struct tty_struct * tty, const unsigned char *buf, int count) |
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c index bce3d55affd8..11a48d874752 100644 --- a/drivers/usb/serial/visor.c +++ b/drivers/usb/serial/visor.c | |||
@@ -69,6 +69,8 @@ static struct usb_device_id id_table [] = { | |||
69 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, | 69 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, |
70 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_TREO600_ID), | 70 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_TREO600_ID), |
71 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, | 71 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, |
72 | { USB_DEVICE(GSPDA_VENDOR_ID, GSPDA_XPLORE_M68_ID), | ||
73 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, | ||
72 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M500_ID), | 74 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M500_ID), |
73 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, | 75 | .driver_info = (kernel_ulong_t)&palm_os_4_probe }, |
74 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M505_ID), | 76 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M505_ID), |
@@ -139,6 +141,7 @@ static struct usb_device_id id_table_combined [] = { | |||
139 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_VISOR_ID) }, | 141 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_VISOR_ID) }, |
140 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_TREO_ID) }, | 142 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_TREO_ID) }, |
141 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_TREO600_ID) }, | 143 | { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_TREO600_ID) }, |
144 | { USB_DEVICE(GSPDA_VENDOR_ID, GSPDA_XPLORE_M68_ID) }, | ||
142 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M500_ID) }, | 145 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M500_ID) }, |
143 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M505_ID) }, | 146 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M505_ID) }, |
144 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M515_ID) }, | 147 | { USB_DEVICE(PALM_VENDOR_ID, PALM_M515_ID) }, |
diff --git a/drivers/usb/serial/visor.h b/drivers/usb/serial/visor.h index b84d1cb4c693..765118d83fb6 100644 --- a/drivers/usb/serial/visor.h +++ b/drivers/usb/serial/visor.h | |||
@@ -36,6 +36,9 @@ | |||
36 | #define PALM_ZIRE_ID 0x0070 | 36 | #define PALM_ZIRE_ID 0x0070 |
37 | #define PALM_M100_ID 0x0080 | 37 | #define PALM_M100_ID 0x0080 |
38 | 38 | ||
39 | #define GSPDA_VENDOR_ID 0x115e | ||
40 | #define GSPDA_XPLORE_M68_ID 0xf100 | ||
41 | |||
39 | #define SONY_VENDOR_ID 0x054C | 42 | #define SONY_VENDOR_ID 0x054C |
40 | #define SONY_CLIE_3_5_ID 0x0038 | 43 | #define SONY_CLIE_3_5_ID 0x0038 |
41 | #define SONY_CLIE_4_0_ID 0x0066 | 44 | #define SONY_CLIE_4_0_ID 0x0066 |