On Thu, 24 Mar 2005, Andrew Morton wrote: > Laurent Riffard <[EMAIL PROTECTED]> wrote: > > > > hello, > > > > Same kinds of problem here. It depends on the removed module. I mean: > > "rmmod loop" or "rmmod pcspkr" works. But "rmmod snd_ens1371" or "rmmod > > ohci1394" hangs. > > > > Sysrq-T when rmmoding snd_ens1371 :
<snip> > It looks like we're getting stuck in the wait_for_completion() in the new > klist_remove(). D'oh! It's getting hung while waiting to remove the current node from the list (which it can't remove because it's being used). The patch below should fix it. Pat ===== drivers/base/dd.c 1.3 vs edited ===== --- 1.3/drivers/base/dd.c 2005-03-21 12:25:04 -08:00 +++ edited/drivers/base/dd.c 2005-03-24 16:55:21 -08:00 @@ -177,7 +177,7 @@ sysfs_remove_link(&drv->kobj, kobject_name(&dev->kobj)); sysfs_remove_link(&dev->kobj, "driver"); - klist_remove(&dev->knode_driver); + klist_del(&dev->knode_driver); down(&dev->sem); device_detach_shutdown(dev); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/