DF-2010 / fix.diff
diff --git a/sys/dev/disk/iscsi/initiator/isc_cam.c b/sys/dev/disk/iscsi/initiator/isc_cam.c --- a/sys/dev/disk/iscsi/initiator/isc_cam.c +++ b/sys/dev/disk/iscsi/initiator/isc_cam.c @@ -207,9 +207,11 @@ debug_called(8); - if((ccb_h->target_id != CAM_TARGET_WILDCARD) && (ccb_h->target_id < MAX_SESSIONS)) + if((ccb_h->target_id != CAM_TARGET_WILDCARD) && (ccb_h->target_id < MAX_SESSIONS)) { + crit_enter(); sp = isp->sessions[ccb_h->target_id]; - else + crit_exit(); + } else sp = NULL; ccb_h->spriv_ptr0 = sp; |