Messages in this thread Patch in this message | | | Date | Tue, 9 Nov 2004 11:39:47 -0800 | From | Greg KH <> | Subject | Re: /sys/devices/system/timer registered twice |
| |
On Tue, Nov 09, 2004 at 08:30:43PM +0100, Kay Sievers wrote: > Hi, > I got this on a Centrino box with the latest bk: > > [kay@pim linux.kay]$ ls -l /sys/devices/system/ > total 0 > drwxr-xr-x 7 root root 0 Nov 8 15:12 . > drwxr-xr-x 5 root root 0 Nov 8 15:12 .. > drwxr-xr-x 3 root root 0 Nov 8 15:12 cpu > drwxr-xr-x 3 root root 0 Nov 8 15:12 i8259 > drwxr-xr-x 2 root root 0 Nov 8 15:12 ioapic > drwxr-xr-x 3 root root 0 Nov 8 15:12 irqrouter > ?--------- ? ? ? ? ? timer > > > It is caused by registering two devices with the name "timer" from: > > arch/i386/kernel/time.c > arch/i386/kernel/timers/timer_pit.c > > If I change one of the names, I get two correct looking sysfs entries. > > Greg, shouldn't the driver core prevent the corruption of the first > device if another one tries to register with the same name?
Yes, we should handle this. Can you try the patch below? I just sent it to Linus, as it fixes a bug that was recently introduced.
The second registration should fail, and this patch will make it fail, and recover properly.
thanks,
greg k-h
--- a/lib/kobject.c 2004-11-05 10:06:33 -08:00 +++ b/lib/kobject.c 2004-11-08 23:58:02 -08:00 @@ -181,10 +181,10 @@ int kobject_add(struct kobject * kobj) error = create_dir(kobj); if (error) { + /* Does the kobject_put() for us */ unlink(kobj); if (parent) kobject_put(parent); - kobject_put(kobj); } else { kobject_hotplug(kobj, KOBJ_ADD); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |