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