Input: i8042 - use synchronize_irq() instead of synchronize_sched()
[deliverable/linux.git] / drivers / input / serio / i8042.c
index 1a0cea3c52945fca48aa363d2f636030d715ca77..13da06fd0b8f36cf27a77f4fe4ecf6a7c4e5dc16 100644 (file)
@@ -280,7 +280,14 @@ static void i8042_stop(struct serio *serio)
        struct i8042_port *port = serio->port_data;
 
        port->exists = 0;
-       synchronize_sched();
+
+       /*
+        * We synchronize with both AUX and KBD IRQs because there is
+        * a (very unlikely) chance that AUX IRQ is raised for KBD port
+        * and vice versa.
+        */
+       synchronize_irq(I8042_AUX_IRQ);
+       synchronize_irq(I8042_KBD_IRQ);
        port->serio = NULL;
 }
 
This page took 0.02536 seconds and 5 git commands to generate.