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
signature.asc
Description: Digital signature
