From: Andrew Morton Date: Thu, 20 Dec 2012 23:05:34 +0000 (-0800) Subject: revert "rtc: recycle id when unloading a rtc driver" X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5abe257af8b95857b95fa0ba694530b446ae32d8;p=openwrt%2Fstaging%2Fblogic.git revert "rtc: recycle id when unloading a rtc driver" Revert commit 2830a6d20139df2198d63235df7957712adb28e5. We already perform the ida_simple_remove() in rtc_device_release(), which is an appropriate place. Commit 2830a6d20 ("rtc: recycle id when unloading a rtc driver") caused the kernel to emit ida_remove called for id=0 which is not allocated. warnings when rtc_device_release() tries to release an alread-released ID. Let's restore things to their previous state and then work out why Vincent's kernel wasn't calling rtc_device_release() - presumably a bug in a specific sub-driver. Reported-by: Lothar Waßmann Acked-by: Alexander Holler Cc: Vincent Palatin Cc: [3.7.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c index f8a0aab218cb..5143629dedbd 100644 --- a/drivers/rtc/class.c +++ b/drivers/rtc/class.c @@ -244,7 +244,6 @@ void rtc_device_unregister(struct rtc_device *rtc) rtc_proc_del_device(rtc); device_unregister(&rtc->dev); rtc->ops = NULL; - ida_simple_remove(&rtc_ida, rtc->id); mutex_unlock(&rtc->ops_lock); put_device(&rtc->dev); }