From 1d03533f5973684ec11404fcba129b07d4cd8190 Mon Sep 17 00:00:00 2001 From: David Milburn Date: Fri, 25 Jan 2008 12:16:18 -0600 Subject: [PATCH] --- yaml --- r: 80585 b: refs/heads/master c: 969ceffb6696ac361db9dbc33c83f855dbdb1528 h: refs/heads/master i: 80583: ac17e810407baffdcd374be07698cb009914fdd4 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/aic7xxx/aic7xxx_osm.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 80a821d9cc06..a6fa54e9b4b1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2adbfa333ad2c365bd27f3cf21ae464501d9619d +refs/heads/master: 969ceffb6696ac361db9dbc33c83f855dbdb1528 diff --git a/trunk/drivers/scsi/aic7xxx/aic7xxx_osm.c b/trunk/drivers/scsi/aic7xxx/aic7xxx_osm.c index e310e414067f..bff7f8c59856 100644 --- a/trunk/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/trunk/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -1658,9 +1658,12 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb) untagged_q = &(ahc->untagged_queues[target_offset]); TAILQ_REMOVE(untagged_q, scb, links.tqe); BUG_ON(!TAILQ_EMPTY(untagged_q)); - } - - if ((scb->flags & SCB_ACTIVE) == 0) { + } else if ((scb->flags & SCB_ACTIVE) == 0) { + /* + * Transactions aborted from the untagged queue may + * not have been dispatched to the controller, so + * only check the SCB_ACTIVE flag for tagged transactions. + */ printf("SCB %d done'd twice\n", scb->hscb->tag); ahc_dump_card_state(ahc); panic("Stopping for safety");