Input: reduce raciness when input handlers disconnect
authorDmitry Torokhov <dtor@insightbb.com>
Mon, 4 Jun 2007 03:29:36 +0000 (23:29 -0400)
committerDmitry Torokhov <dtor@insightbb.com>
Mon, 4 Jun 2007 03:50:05 +0000 (23:50 -0400)
commit1dfa2812404c37d7571622195f907cea3331616c
tree2533af73ff0e1e4d24603967bd6cdc092973dce9
parent26be5a509af5f80c7012bd4f0478a94746c9c9d9
Input: reduce raciness when input handlers disconnect

There is a race between input handler's release() and disconnect()
methods: when input handler disconnects it wakes up all regular
users and then process to walk user list to wake up async. users.
While disconnect() walks the list release() removes elements of
the same list causing oopses.

While this is not a substibute for proper locking we can reduce
odds of getting an oops if we wake up normal readers after walking
the list.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/evdev.c
drivers/input/joydev.c
drivers/input/mousedev.c
drivers/input/tsdev.c