diff --git a/sys/dev/aic7xxx/aic7xxx_freebsd.c b/sys/dev/aic7xxx/aic7xxx_freebsd.c index 04d83b936e9..eb565085635 100644 --- a/sys/dev/aic7xxx/aic7xxx_freebsd.c +++ b/sys/dev/aic7xxx/aic7xxx_freebsd.c @@ -433,9 +433,9 @@ ahc_action(struct cam_sim *sim, union ccb *ccb) ahc_lock(ahc, &s); if ((scb = ahc_get_scb(ahc)) == NULL) { + xpt_freeze_simq(sim, /*count*/1); ahc->flags |= AHC_RESOURCE_SHORTAGE; ahc_unlock(ahc, &s); - xpt_freeze_simq(sim, /*count*/1); ccb->ccb_h.status = CAM_REQUEUE_REQ; xpt_done(ccb); return; diff --git a/sys/dev/aic7xxx/aic7xxx_osm.c b/sys/dev/aic7xxx/aic7xxx_osm.c index 04d83b936e9..eb565085635 100644 --- a/sys/dev/aic7xxx/aic7xxx_osm.c +++ b/sys/dev/aic7xxx/aic7xxx_osm.c @@ -433,9 +433,9 @@ ahc_action(struct cam_sim *sim, union ccb *ccb) ahc_lock(ahc, &s); if ((scb = ahc_get_scb(ahc)) == NULL) { + xpt_freeze_simq(sim, /*count*/1); ahc->flags |= AHC_RESOURCE_SHORTAGE; ahc_unlock(ahc, &s); - xpt_freeze_simq(sim, /*count*/1); ccb->ccb_h.status = CAM_REQUEUE_REQ; xpt_done(ccb); return;