diff options
author | Matt Jacob <mjacob@FreeBSD.org> | 2010-03-30 20:39:57 +0000 |
---|---|---|
committer | Matt Jacob <mjacob@FreeBSD.org> | 2010-03-30 20:39:57 +0000 |
commit | f0b41ca4fcc4a078bf412c71f7eaad4dbe2ab01b (patch) | |
tree | 3baa5d4db38ee34c8d41dbcaf68b6c88fb0b5e85 /sys/dev/mpt | |
parent | 1eadf156c211d9771d7e239f7db82c8954b835f1 (diff) | |
download | src-f0b41ca4fcc4a078bf412c71f7eaad4dbe2ab01b.tar.gz src-f0b41ca4fcc4a078bf412c71f7eaad4dbe2ab01b.zip |
nit: xpt_bus_deregister has to be called with the sim lock held.
MFC after: 1 month
Notes
Notes:
svn path=/head/; revision=205932
Diffstat (limited to 'sys/dev/mpt')
-rw-r--r-- | sys/dev/mpt/mpt_cam.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/mpt/mpt_cam.c b/sys/dev/mpt/mpt_cam.c index 302030f9f341..5e63ef908bd6 100644 --- a/sys/dev/mpt/mpt_cam.c +++ b/sys/dev/mpt/mpt_cam.c @@ -1208,14 +1208,18 @@ mpt_cam_detach(struct mpt_softc *mpt) if (mpt->sim != NULL) { xpt_free_path(mpt->path); + MPT_LOCK(mpt); xpt_bus_deregister(cam_sim_path(mpt->sim)); + MPT_UNLOCK(mpt); cam_sim_free(mpt->sim, TRUE); mpt->sim = NULL; } if (mpt->phydisk_sim != NULL) { xpt_free_path(mpt->phydisk_path); + MPT_LOCK(mpt); xpt_bus_deregister(cam_sim_path(mpt->phydisk_sim)); + MPT_UNLOCK(mpt); cam_sim_free(mpt->phydisk_sim, TRUE); mpt->phydisk_sim = NULL; } |