Messages in this thread |  | | Date | Thu, 7 Feb 2013 16:39:58 +0000 | From | Mark Brown <> | Subject | Re: [PATCH 37/77] i2c: convert to idr_alloc() |
| |
On Thu, Feb 07, 2013 at 08:32:47AM -0800, Tejun Heo wrote: > On Thu, Feb 07, 2013 at 03:28:31PM +0000, Mark Brown wrote: > > On Wed, Feb 06, 2013 at 11:40:09AM -0800, Tejun Heo wrote: > > > Convert to the much saner new idr interface.
> > > Only compile tested.
> > This broke I2C for me in -next today, I saw a spinlock bad magic error > > calling pm_runtime_enable().
> Hmmm... weird, can't see where the difference in behavior would come > from. The only material difference would be if id < 0 && id != -1 in > i2c_add_numbered_adapter(), which now would trigger WARN_ON_ONCE() > inside idr_alloc() instead of silently returning -EINVAL.
> Can you please elaborate the failure? I can't see how the idr > conversion would lead to spinlock bad magic error. Does reverting > this patch make the problem go away?
Yes, reverting the patch made the issue vanish. I've no more diagnostics I'm afraid, just a 10s timeout then bad magic - it looks like memory corruption. I'll try to find time to dig in more but not sure when that'll happen. [unhandled content-type:application/pgp-signature] |  |