Am 19.12.2012 09:27, schrieb Andrew Morton:
On Wed, 19 Dec 2012 08:55:57 +0100 Alexander Holler <hol...@ahsoftware.de>
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.
Unlikely, as I've worked hard to get one of the first drivers for
pluggable RTCs into the kernel. ;)
I think every sane kernel has them statically linked in and it's likely
a problem of the RTC-driver Vincent experienced that with.
Regards,
Alexander
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/