ahc_platform_abort_scbs()
Nigel Horne
njh at smsltd.demon.co.uk
Mon Mar 11 08:21:01 PST 2002
On Monday 11 March 2002 4:15 pm, Justin T. Gibbs wrote:
> I must be reading different code than you. From the 6.2.5 linux driver:
Let me reword the issue in a different way.
>From queue.h:
#define TAILQ_FIRST(head) ((head)->tqh_first)
#define TAILQ_REMOVE(head, elm, field) do { \
if ((TAILQ_NEXT((elm), field)) != NULL) \
TAILQ_NEXT((elm), field)->field.tqe_prev = \
(elm)->field.tqe_prev; \
else \
(head)->tqh_last = (elm)->field.tqe_prev; \
*(elm)->field.tqe_prev = TAILQ_NEXT((elm), field); \
} while (0)
The TAILQ_REMOVE macro does not touch tqh_first, so how can
while((acmd = busyq->tqh_first) != NULL) { // macro written out
possibly stop when the loop does not alter the value busyq->tqh_first?
-Nigel
--
Nigel Horne. Arranger, Composer, Conductor, Typesetter.
http://www.bandsman.co.uk/music.htm ICQ#20252325
To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message
More information about the aic7xxx
mailing list