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:
parent
20cf74c9c7
commit
8c6b569c14
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user