diff options
author | luoqi <luoqi@FreeBSD.org> | 1999-10-28 05:28:00 +0000 |
---|---|---|
committer | luoqi <luoqi@FreeBSD.org> | 1999-10-28 05:28:00 +0000 |
commit | 15b14d33bd22da5cda5fec13f2695002fea618e2 (patch) | |
tree | 537f0aca07ea2accfcb6a5d3c59a2c3dd71d1be2 /sys/dev/aic | |
parent | a2279bbc104b0c6509565d3e8ec0d48bd335bc93 (diff) | |
download | FreeBSD-src-15b14d33bd22da5cda5fec13f2695002fea618e2.zip FreeBSD-src-15b14d33bd22da5cda5fec13f2695002fea618e2.tar.gz |
Bug fix: allow reset device command to complete.
Diffstat (limited to 'sys/dev/aic')
-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; |