diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index c4918b86ed193cb4647510b950e114d952a627fd..9df04dd1332cf9b16b0d5998a1b03fb4083d6dc0 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -1297,6 +1297,7 @@ static int hso_serial_open(struct tty_struct *tty, struct file *filp)
 	/* setup */
 	spin_lock_irq(&serial->serial_lock);
 	tty->driver_data = serial;
+	tty_kref_put(serial->tty);
 	serial->tty = tty_kref_get(tty);
 	spin_unlock_irq(&serial->serial_lock);