Skip to contentSkip to conversation

rmmodding e100 trace calls on 2.6.0-test2-mm2

DISCUSSION Peter Johanson 2 participants 2 messages Aug 1, 2003

lore
Share & tools
lore
#0 lore raw

I get the following errors when rmmodding e100 and similar errors with other net modules . The errors seem to come from the latest addition to drivers/base/class.c. Please reply directly as i'm on linux-net and not on linux-kernel. thanks.

-pete

kobject 'statistics' does not have a release() function, it is broken and must be fixed.
Badness in kobject_cleanup at lib/kobject.c:402

Call Trace:
 [<c0226001>] kobject_cleanup+0x5f/0x85
 [<c02f90a5>] netdev_unregister_sysfs+0x39/0x3b
 [<c02f8549>] netdev_run_todo+0x108/0x170
 [<f98f3538>] e100_remove1+0x27/0x7e [e100]
 [<c0232cc3>] pci_device_remove+0x3b/0x3d
 [<c0276ac7>] device_release_driver+0x62/0x64
 [<c0276ae9>] driver_detach+0x20/0x2e
 [<c0276d2c>] bus_remove_driver+0x3d/0x75
 [<c02770e8>] driver_unregister+0x13/0x28
 [<c0232f61>] pci_unregister_driver+0x16/0x26
 [<f98fb91f>] e100_cleanup_module+0x1b/0x4f [e100]
 [<c012fa94>] sys_delete_module+0x137/0x191
 [<c014687e>] do_munmap+0x147/0x183
 [<c0109097>] syscall_call+0x7/0xb

Device class 'eth0' does not have a release() function, it is broken and must be fixed.
Badness in class_dev_release at drivers/base/class.c:201

Call Trace:
 [<c0226025>] kobject_cleanup+0x83/0x85
 [<c02776e6>] class_device_unregister+0x13/0x23
 [<c02f8549>] netdev_run_todo+0x108/0x170
 [<f98f3538>] e100_remove1+0x27/0x7e [e100]
 [<c0232cc3>] pci_device_remove+0x3b/0x3d
 [<c0276ac7>] device_release_driver+0x62/0x64
 [<c0276ae9>] driver_detach+0x20/0x2e
 [<c0276d2c>] bus_remove_driver+0x3d/0x75
 [<c02770e8>] driver_unregister+0x13/0x28
 [<c0232f61>] pci_unregister_driver+0x16/0x26
 [<f98fb91f>] e100_cleanup_module+0x1b/0x4f [e100]
 [<c012fa94>] sys_delete_module+0x137/0x191
 [<c014687e>] do_munmap+0x147/0x183
 [<c0109097>] syscall_call+0x7/0xb

kobject 'class_obj' does not have a release() function, it is broken and must be fixed.
Badness in kobject_cleanup at lib/kobject.c:402

Call Trace:
 [<c0226001>] kobject_cleanup+0x5f/0x85
 [<c02f8549>] netdev_run_todo+0x108/0x170
 [<f98f3538>] e100_remove1+0x27/0x7e [e100]
 [<c0232cc3>] pci_device_remove+0x3b/0x3d
 [<c0276ac7>] device_release_driver+0x62/0x64
 [<c0276ae9>] driver_detach+0x20/0x2e
 [<c0276d2c>] bus_remove_driver+0x3d/0x75
 [<c02770e8>] driver_unregister+0x13/0x28
 [<c0232f61>] pci_unregister_driver+0x16/0x26
 [<f98fb91f>] e100_cleanup_module+0x1b/0x4f [e100]
 [<c012fa94>] sys_delete_module+0x137/0x191
 [<c014687e>] do_munmap+0x147/0x183
 [<c0109097>] syscall_call+0x7/0xb
Signature · 5 lines
Peter Johanson
<[email protected]>

Key ID = 0x6EFA3917
Key fingerprint = A90A 2518 57B1 9D20 9B71  A2FF 8649 439B 6EFA 3917
#1 lore raw

One of the -mm patches produces a warning which will be taken care of later when all the network drivers are converted to dynamically allocating net_device's. At that point, a massive patch will be needed that changes all instances of:

	unregister_netdev(dev);
	my cleanup...
	kfree(dev);   // becomes release_netdev(dev);

new release_netdev() will release the dev kobject at that point.

I have the code ready, just been waiting till all net device's converted. Prefer not to break the world at this point.