Fixing the mount_smbfs(8) hanging by utilising the destroy_dev_sched() KPI.

Relevant threads:

  http://lists.freebsd.org/pipermail/freebsd-current/2007-June/074329.html

Reviewed by:	kib, bp (slightly different version)
Tested by:	Yuri Pankov <yuri.pankov at gmail dot com>,
		Jiawei Ye <leafy7382 at gmail dot com>
Approved by:	re (kensmith)
This commit is contained in:
Tai-hwa Liang 2007-07-10 09:23:10 +00:00
parent 2e4637cd75
commit 5ee1ac4645
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=171338

View File

@ -175,7 +175,7 @@ nsmb_dev_close(struct cdev *dev, int flag, int fmt, struct thread *td)
*/
dev->si_drv1 = NULL;
free(sdp, M_NSMBDEV);
destroy_dev(dev);
destroy_dev_sched(dev);
splx(s);
return 0;
}
@ -349,6 +349,8 @@ nsmb_dev_load(module_t mod, int cmd, void *arg)
if (error)
break;
EVENTHANDLER_DEREGISTER(dev_clone, nsmb_dev_tag);
drain_dev_clone_events();
destroy_dev_drain(&nsmb_cdevsw);
printf("netsmb_dev: unloaded\n");
break;
default: