Make sure we hold the SIM lock when calling xpt_free_path().
Sponsored by: Spectra Logic Corporation MFC after: 1 week
This commit is contained in:
parent
c67e754951
commit
a6495a9d22
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=244016
@ -1822,8 +1822,6 @@ ctlfe_onoffline(void *arg, int online)
|
||||
|
||||
xpt_action(ccb);
|
||||
|
||||
CAM_SIM_UNLOCK(sim);
|
||||
|
||||
if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
|
||||
printf("%s: SIM %s (path id %d) target %s failed with "
|
||||
"status %#x\n",
|
||||
@ -1836,9 +1834,12 @@ ctlfe_onoffline(void *arg, int online)
|
||||
(online != 0) ? "enable" : "disable");
|
||||
}
|
||||
|
||||
free(ccb, M_TEMP);
|
||||
xpt_free_path(path);
|
||||
|
||||
CAM_SIM_UNLOCK(sim);
|
||||
|
||||
free(ccb, M_TEMP);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1920,10 +1921,10 @@ ctlfe_lun_enable(void *arg, struct ctl_id targ_id, int lun_id)
|
||||
0,
|
||||
softc);
|
||||
|
||||
mtx_unlock(sim->mtx);
|
||||
|
||||
xpt_free_path(path);
|
||||
|
||||
mtx_unlock(sim->mtx);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user