diff options
Diffstat (limited to 'sys/dev/aic/aic.c')
-rw-r--r-- | sys/dev/aic/aic.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/aic/aic.c b/sys/dev/aic/aic.c index 3018c95..341c7e1 100644 --- a/sys/dev/aic/aic.c +++ b/sys/dev/aic/aic.c @@ -1105,7 +1105,7 @@ aic_timeout(void *arg) printf("ccb %p - timed out", ccb); if (aic->nexus && aic->nexus != scb) printf(", nexus %p", aic->nexus->ccb); - printf("\n"); + printf(", phase %x\n", aic_inb(aic, SCSISIGI)); s = splcam(); @@ -1254,6 +1254,10 @@ aic_intr(void *arg) ccb = scb->ccb; ccb->ccb_h.status = CAM_UNEXP_BUSFREE; aic_done(aic, scb); + } else if (scb->flags & SCB_DEVICE_RESET) { + ccb = scb->ccb; + ccb->ccb_h.status = CAM_REQ_CMP; + aic_done(aic, scb); } else if (scb->flags & SCB_SENSE) { /* autosense request */ aic->flags &= ~AIC_BUSFREE_OK; |