staging: unisys: visorinput: remove unnecessary locking
authorTim Sell <Timothy.Sell@unisys.com>
Sat, 11 Jun 2016 01:48:07 +0000 (21:48 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Aug 2016 18:44:24 +0000 (20:44 +0200)
commit83011b6cbe7c597c73b31c41021dc71f78dcef7b
treec3c2d8dae8278f2680c3c9a08d7f1a8d18b2bb71
parentc3d4a970333fcece2376c865572e2f835f8f3f4d
staging: unisys: visorinput: remove unnecessary locking

Locking in the _interrupt() function is NOT necessary so long as we ensure
that interrupts have been stopped whenever we need to pause or resume the
device, which we now do.

While a device is paused, we ensure that interrupts stay disabled, i.e.
that the _interrupt() function will NOT be called, yet remember the desired
state in devdata->interrupts_enabled if open() or close() are called are
called while the device is paused.  Then when the device is resumed, we
restore the actual state of interrupts (i.e., whether _interrupt() is going
to be called or not) to the desired state in devdata->interrupts_enabled.

Signed-off-by: Tim Sell <Timothy.Sell@unisys.com>
Signed-off-by: David Kershner <david.kershner@unisys.com>
Acked-By: Neil Horman <nhorman@tuxdriver.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorinput/visorinput.c