linux/drivers/input/serio
Dmitry Torokhov 486c8aba39 Input: serio_raw - ensure we don't block in non-blocking read
Avoid calling wait_event_interruptible() if client requested non-blocking
read, since it is not guaranteed that another thread will not consume
event after we checked if serio_raw->head != serio_raw->tail.

Also ensure we do not return 0 but keep waiting instead in blocking case,
when another thread steals "our" byte.

Reviewed-by: David Herrmann <dh.herrmann@googlemail.com>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2012-04-20 23:11:01 -07:00
..
altera_ps2.c Input: altera_ps2 - use of_match_ptr() 2012-03-16 23:34:00 -07:00
ambakmi.c input: ambakmi: Enable module alias autogeneration for AMBA drivers 2011-11-22 10:58:31 +00:00
ams_delta_serio.c Input: ams_delta_serio - include linux/module.h 2011-11-09 21:19:54 -08:00
at32psif.c Merge commit 'v3.3-rc6' into next 2012-03-09 10:55:17 -08: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 module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
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 - add Lenovo Ideapad U455 to 'reset' blacklist 2012-02-03 00:22:43 -08:00
i8042.c Input: i8042 - also perform controller reset when suspending 2011-11-05 00:01:56 -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: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
q40kbd.c Input: q40kbd - convert driver to the split model 2012-01-23 00:02:31 -08:00
rpckbd.c Input: serio - use macro module_platform_driver() 2011-11-30 23:41:43 -08: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 - ensure we don't block in non-blocking read 2012-04-20 23:11:01 -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 - allocate serio port separately 2012-04-03 09:57:11 -07:00