1
linux/drivers/input/serio
Duncan Laurie 19e9554153 Input: serio - clear pending rescans after sysfs driver rebind
When rebinding a serio driver via sysfs drvctl interface it is
possible for an interrupt to trigger after the disconnect of the
existing driver and before the binding of the new driver.  This will
cause the serio interrupt handler to queue a rescan event which will
disconnect the new driver immediately after it is attached.

This change removes pending rescans from the serio event queue after
processing the drvctl request but before releasing the serio mutex.

Reproduction involves issuing a rebind of device port from psmouse
driver to serio_raw driver while generating input to trigger
interrupts.  Then checking to see if the corresponding
i8042/serio4/driver is correctly attached to the serio_raw driver
instead of psmouse.

Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-02 23:01:52 -08:00
..
altera_ps2.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ambakmi.c Input: ambakmi - annotate probe() and remove() methods 2009-12-11 23:45:57 -08:00
ams_delta_serio.c Input: ams_delta_serio - fix wrong kfree in ams_delta_serio_exit 2010-11-21 22:32:13 -08:00
at32psif.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ct82c710.c Input: ct82710c - return proper error code for ct82c710_open 2011-01-17 20:49:22 -08:00
gscps2.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hil_mlc.c Input: serio HIL MLC - don't deref null, don't leak and return proper error 2010-11-20 13:38:18 -08:00
hp_sdc_mlc.c Input: serio HIL MLC - don't deref null, don't leak and return proper error 2010-11-20 13:38:18 -08:00
hp_sdc.c input: Serio/hp_sdc: semaphore cleanup 2010-10-12 17:36:08 +02:00
i8042-io.h powerpc: Add i8042 keyboard and mouse irq parsing 2010-07-09 11:28:33 +10:00
i8042-ip22io.h
i8042-jazzio.h
i8042-ppcio.h Input: i8042 - remove SPRUCE support 2010-06-04 00:44:30 -07:00
i8042-snirm.h
i8042-sparcio.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
i8042-x86ia64io.h Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13 2011-01-08 01:38:11 -08:00
i8042.c Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13 2011-01-08 01:38:11 -08:00
i8042.h Input: i8042 - use pr_<level>, pr_fmt, fix dbg and __FILE__ use 2010-11-30 23:10:20 -08:00
Kconfig Input: serio - add support for PS2Mult multiplexer protocol 2010-10-18 09:33:31 -07:00
libps2.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
maceps2.c
Makefile Input: serio - add support for PS2Mult multiplexer protocol 2010-10-18 09:33:31 -07:00
parkbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcips2.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ps2mult.c Input: ps2mult - fix wrong kfree in ps2mult_connect error path 2010-11-21 22:32:09 -08:00
q40kbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rpckbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sa1111ps2.c Input: sa1111ps2 - annotate probe() and remove() methods 2009-12-11 23:46:05 -08:00
serio_raw.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
serio.c Input: serio - clear pending rescans after sysfs driver rebind 2011-02-02 23:01:52 -08:00
serport.c Input: serio - allow registered drivers to get status flag 2011-01-20 23:11:56 -08:00
xilinx_ps2.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00