Input: evdev - never leave the client buffer empty after write
commite725a4945d6eedd400dd5d0ead293d980a2f76ec
authorHenrik Rydberg <rydberg@euromail.se>
Wed, 23 Jun 2010 17:09:26 +0000 (23 10:09 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 23 Jun 2010 20:05:27 +0000 (23 13:05 -0700)
treec484304f9b4298321d0aa82a6a119004fe290eea
parent6967b4d9de4a7cf3b00cd9a93981d3206d75a1d8
Input: evdev - never leave the client buffer empty after write

When the client buffer is very small and wraps around a lot, it may
well be that a write increases the head such that head == tail. If
this happens between the point where a poll is triggered and the
actual data is being read, there will be no data to read. This is
confusing to applications, which might end up closing the file.

This patch solves the problem by making sure the client buffer is
never empty after writing to it.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/evdev.c