Correct an "argument reversal" bug that could cause commands requed from

the input fifo to be returned as successful and frozen.  Most, if not
all, peripheral drivers do not check the qfrozen bit for successfully
completed commands, so the result would not only be lost commands, but
devices locked out from receiving commands.  This was a bad bug that
crept in two or three months ago during some target mode work.
This commit is contained in:
gibbs 1999-12-20 21:32:32 +00:00
parent 20cf74c9c7
commit 8c6b569c14

View File

@ -5672,8 +5672,8 @@ ahc_timeout(void *arg)
ahc_search_qinfifo(ahc, SCB_TARGET(scb),
channel, SCB_LUN(scb),
SCB_LIST_NULL,
CAM_REQUEUE_REQ,
ROLE_INITIATOR,
CAM_REQUEUE_REQ,
SEARCH_COMPLETE);
xpt_print_path(scb->ccb->ccb_h.path);
printf("Queuing a BDR SCB\n");
@ -5862,7 +5862,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
active_scb = ahc_inb(ahc, SCBPTR);
found = ahc_search_qinfifo(ahc, target, channel, lun, tag,
CAM_REQUEUE_REQ, role, SEARCH_COMPLETE);
role, CAM_REQUEUE_REQ, SEARCH_COMPLETE);
/*
* Search waiting for selection list.