Messages in this thread | | | Date | Wed, 19 Dec 2012 09:55:02 +0100 | From | Alexander Holler <> | Subject | Re: [rtc-linux] [PATCH] rtc: recycle id when unloading a rtc driver |
| |
Am 19.12.2012 09:27, schrieb Andrew Morton: > On Wed, 19 Dec 2012 08:55:57 +0100 Alexander Holler <holler@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
| |