diff options
| -rw-r--r-- | drivers/net/usb/hso.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 746839bb89ff..43bc3fcc0d85 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
| @@ -1363,7 +1363,7 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp) | |||
| 1363 | /* reset the rts and dtr */ | 1363 | /* reset the rts and dtr */ |
| 1364 | /* do the actual close */ | 1364 | /* do the actual close */ |
| 1365 | serial->open_count--; | 1365 | serial->open_count--; |
| 1366 | kref_put(&serial->parent->ref, hso_serial_ref_free); | 1366 | |
| 1367 | if (serial->open_count <= 0) { | 1367 | if (serial->open_count <= 0) { |
| 1368 | serial->open_count = 0; | 1368 | serial->open_count = 0; |
| 1369 | spin_lock_irq(&serial->serial_lock); | 1369 | spin_lock_irq(&serial->serial_lock); |
| @@ -1383,6 +1383,8 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp) | |||
| 1383 | usb_autopm_put_interface(serial->parent->interface); | 1383 | usb_autopm_put_interface(serial->parent->interface); |
| 1384 | 1384 | ||
| 1385 | mutex_unlock(&serial->parent->mutex); | 1385 | mutex_unlock(&serial->parent->mutex); |
| 1386 | |||
| 1387 | kref_put(&serial->parent->ref, hso_serial_ref_free); | ||
| 1386 | } | 1388 | } |
| 1387 | 1389 | ||
| 1388 | /* close the requested serial port */ | 1390 | /* close the requested serial port */ |
