OK, here is another printk patch.
Leave the previous one in place.
--- linux-2.6.16-rc6/drivers/base/class.c 2006-03-14 20:13:59.000000000
-0600
+++ b/drivers/base/class.c 2006-03-14 20:13:35.000000000 -0600
@@ -666,7 +666,13 @@ void class_device_del(struct class_devic
if (class_dev->dev) {
class_name = make_class_name(class_dev);
+ printk("class_device_del call sysfs_remove_link class_dev=%p
ref=%d dentry=%p\n",
+ class_dev, atomic_read(&class_dev->kobj.kref.refcount),
+ class_dev->kobj.dentry);
sysfs_remove_link(&class_dev->kobj, "device");
+ printk("class_device_del call sysfs_remove_link
class_dev->dev=%p ref=%d dentry=%p class_name=%s\n",
+ class_dev->dev,
atomic_read(&class_dev->dev->kobj.kref.refcount),
+ class_dev->dev->kobj.dentry, class_name);
sysfs_remove_link(&class_dev->dev->kobj, class_name);
}
class_device_remove_file(class_dev, &class_dev->uevent_attr);
--- linux-2.6.16-rc6/fs/sysfs/inode.c 2006-03-14 20:25:05.000000000 -0600
+++ b/fs/sysfs/inode.c 2006-03-14 20:24:56.000000000 -0600
@@ -233,6 +233,9 @@ void sysfs_hash_and_remove(struct dentry
/* no inode means this hasn't been made visible yet */
return;
+ if (dir->d_inode == 0x6b6b6b6b)
+ printk("sysfs_hash_and_remove dir=%p d_inode=%p\n", dir,
dir->d_inode);
+
mutex_lock(&dir->d_inode->i_mutex);
list_for_each_entry(sd, &parent_sd->s_children, s_sibling) {
if (!sd->s_element)
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel