staging: comedi: kcomedilib: protect against device detachment
authorIan Abbott <abbotti@mev.co.uk>
Fri, 8 Nov 2013 15:03:39 +0000 (15:03 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Nov 2013 00:16:45 +0000 (16:16 -0800)
commit69e2387f3bfd408c7fb6c0d14b83d792f67ed638
treeb42741cc656b77666546bfadebfd122956aee468
parent799a66ba36cb51330c53c024dffc6ddb68545c9c
staging: comedi: kcomedilib: protect against device detachment

The functions in "kcomedilib" need to prevent the comedi device being
detached during their operation.  This can be done by acquiring either
the main mutex or the "attach lock" semaphore in the `struct
comedi_device`.  Use the attach lock when merely checking whether the
device is attached.  Use the mutex when processing a comedi instruction.

Also, don't bother trying to manipulate the module use count of
low-level comedi driver in `comedi_open()` and `comedi_close()`.  If the
device gets detached while it is "open", we wouldn't be able to
decrement the module use count anyway.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/kcomedilib/kcomedilib_main.c