[PATCH] staging: comedi: ni_mio_common: always lock in ni_ai_poll()

Ian Abbott abbotti at mev.co.uk
Tue Sep 25 09:38:17 UTC 2012


On 2012-09-24 22:14, H Hartley Sweeten wrote:
> On Monday, September 24, 2012 8:28 AM, Ian Abbott wrote:
>> `ni_ai_poll()` currently acquires (and later releases) the comedi
>> device's spin-lock iff `in_interrupt()` returns 0.  However, it is only
>> called during processing of a `COMEDI_POLL` ioctl so `in_interrupt()`
>> will always return 0 in this case.  Remove this test and acquire/release
>> the spin-lock unconditionally.  This eliminates a sparse warning about
>> different lock contexts for basic block.
>
> Ian,
>
> How can you guarantee that the user space COMEDI_POLL ioctl wil
> never happen when this driver is handling its interrupt?

Some other task may be handling the interrupt, but not the current task 
because no callers of `ni_ai_poll()` run in an interrupt context, so 
`in_interrupt()` will return 0.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti at mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-



More information about the devel mailing list