Hi Sebastian,

> - i2c_transfer() has this piece:
>   2091                 if (in_atomic() || irqs_disabled()) {
>   2092                         ret = i2c_trylock_adapter(adap);
> 
>   is this irqs_disabled() is what bothers me and should not be there.
>   pxa does a spin_lock_irq() which would enable interrupts on return /
>   too early.
>   mxs has a wait_for_completion() which needs irqs enabled _and_ makes
>   in_atomic() problematic, too. I have't checked other drivers but the
>   commit, that introduced it, does not explain why it is required.

I haven't really looked into it, but a quick search gave me this thread
explaining the intention of the code in question:

http://lists.lm-sensors.org/pipermail/i2c/2007-November/002268.html

Regards,

   Wolfram

Attachment: signature.asc
Description: Digital signature

Reply via email to