Re: [PATCH 37/77] i2c: convert to idr_alloc()
From: Mark Brown
Date: Thu Feb 07 2013 - 11:40:11 EST
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.
Attachment:
signature.asc
Description: Digital signature