Merge remote-tracking branch 'lsk/v3.10/topic/hrtimer' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / drivers / tty / ehv_bytechan.c
index ed92622b8949dcdd3338388e213b67241110d3e1..9bffcec5ad82a4bcf0f05e3a89c73cf0b62433dc 100644 (file)
@@ -472,13 +472,9 @@ static void ehv_bc_tx_dequeue(struct ehv_bc_data *bc)
 static irqreturn_t ehv_bc_tty_tx_isr(int irq, void *data)
 {
        struct ehv_bc_data *bc = data;
-       struct tty_struct *ttys = tty_port_tty_get(&bc->port);
 
        ehv_bc_tx_dequeue(bc);
-       if (ttys) {
-               tty_wakeup(ttys);
-               tty_kref_put(ttys);
-       }
+       tty_port_tty_wakeup(&bc->port);
 
        return IRQ_HANDLED;
 }
@@ -863,6 +859,7 @@ error:
  */
 static void __exit ehv_bc_exit(void)
 {
+       platform_driver_unregister(&ehv_bc_tty_driver);
        tty_unregister_driver(ehv_bc_driver);
        put_tty_driver(ehv_bc_driver);
        kfree(bcs);