linux/drivers/input/serio
Dmitry Torokhov 550eca7caf Input: serio_raw - fix memory leak when closing char device
Apparently we never freed memory allocated when users open our char
devices nor removed old users from the list of connected clients.

Also unregister misc device immediately upon disconnecting the port
instead of waiting until last user drops off (refcounting in misc
device code will make sure needed pieces stay around while they
are needed) and make sure we are not holing holding serio_raw_mutex
when registering/unregistering misc device. This should fix potential
deadlock between serio_raw and misc device code uncovered by lockdep
and reported by Thomas Tuttle.

Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-10-10 18:35:23 -07:00
..
altera_ps2.c altera_ps2: Add devicetree support 2011-02-15 21:39:21 -07:00
ambakmi.c ARM: amba: make probe() functions take const id tables 2011-02-23 16:24:14 +00:00
ams_delta_serio.c drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
at32psif.c Input: update author email for gpio_mouse, at32psif, and atmel-wm97xx 2011-06-29 00:26:02 -07:00
ct82c710.c Input: ct82710c - return proper error code for ct82c710_open 2011-01-17 20:49:22 -08:00
gscps2.c parisc: Fix GSC PS/2 driver name for keyboard and mouse 2010-12-04 11:19:59 -05: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: hp_sdc - staticize hp_sdc_kicker() 2011-07-18 17:10:36 -07: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 Input: i8042 - add SNI RM support 2008-03-14 11:54:06 -04:00
i8042-sparcio.h dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
i8042-unicore32io.h unicore32 io: redefine __REG(x) and re-use readl/writel funcs 2011-03-17 09:19:19 +08: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 - downgrade selftest error message to dbg() 2011-03-31 00:12:40 -07:00
i8042.h unicore32 machine related files: ps2 driver 2011-03-17 09:19:15 +08:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
libps2.c Input: libps2.c: fix comment typo arrrives. 2011-06-27 12:28:56 +02:00
maceps2.c define global BIT macro 2007-10-19 11:53:42 -07:00
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 Input: rpckbd - fix a leak of the IRQ during init failure 2011-04-02 21:47:53 -07:00
sa1111ps2.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
serio_raw.c Input: serio_raw - fix memory leak when closing char device 2011-10-10 18:35:23 -07:00
serio.c Input: serio/gameport - use 'long' system workqueue 2011-02-23 08:53:07 -08:00
serport.c Revert "tty: make receive_buf() return the amout of bytes received" 2011-06-04 06:33:24 +09:00
xilinx_ps2.c input: xilinx_ps2: Add missing of_address.h header 2011-08-01 17:07:21 +01:00