On Sat, Mar 14, 2015 at 12:27:03PM +0100, Wolfram Sang wrote: > 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 > And adding a recent mail address from Mike to cc.
Attachment:
signature.asc
Description: Digital signature