Re: [rtc-linux] [PATCH] rtc: recycle id when unloading a rtc driver

From: Andrew Morton
Date: Wed Dec 19 2012 - 03:27:30 EST


On Wed, 19 Dec 2012 08:55:57 +0100 Alexander Holler <holler@xxxxxxxxxxxxx> wrote:

> >
> > I'm all confused.
> >
> > Lothar's patch simply reverts Vincent's patch. And that appears to be
> > the correct thing to so, as the ida_simple_remove() in
> > rtc_device_release() should be sufficient.
> >
> > But apparently that doesn't work, because Vincent was seeing the RTC
> > ID's increment rather than getting reused.
> >
> > Is it the case that rtc_device_release() is not being called sometimes?
> > If so, under what circumstances?
>
> Maybe something (sysfs or whatever) still has a reference to it. Vincent
> should check that.
>
> But I'm sure the ID will be recycled with that put_device() in
> unregister because I've got the same warning as Lothar did when
> (porperly) removing an RTC (with kernel 3.7).

If, as appears to be the case, rtc_device_release() is not being called
then we're also leaking memory. So yes please, it would be good if
someone who can reproduce the IDs-dont-decrease problem could dive in
and work out why ->release() isn't begin called.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/