Merge tag '4.4-additional' of git://git.lwn.net/linux
[firefly-linux-kernel-4.4.55.git] / drivers / tty / tty_buffer.c
index a660ab181cca7357c59c7256303628eb8bb929a9..9a479e61791a2a80cd0ae3fd5c93c6d0873d6998 100644 (file)
@@ -403,7 +403,7 @@ void tty_schedule_flip(struct tty_port *port)
         * flush_to_ldisc() sees buffer data.
         */
        smp_store_release(&buf->tail->commit, buf->tail->used);
-       schedule_work(&buf->work);
+       queue_work(system_unbound_wq, &buf->work);
 }
 EXPORT_SYMBOL(tty_schedule_flip);
 
@@ -587,3 +587,13 @@ void tty_buffer_set_lock_subclass(struct tty_port *port)
 {
        lockdep_set_subclass(&port->buf.lock, TTY_LOCK_SLAVE);
 }
+
+bool tty_buffer_restart_work(struct tty_port *port)
+{
+       return queue_work(system_unbound_wq, &port->buf.work);
+}
+
+bool tty_buffer_cancel_work(struct tty_port *port)
+{
+       return cancel_work_sync(&port->buf.work);
+}