Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Mar 2002 16:20:45 +0000
From:      Nigel Horne <njh@smsltd.demon.co.uk>
To:        aic7xxx@FreeBSD.ORG
Subject:   Re: ahc_platform_abort_scbs()
Message-ID:  <200203111620.g2BGKk004690@njh-1.tadpole.co.uk>
In-Reply-To: <200203111615.g2BGFpI11861@aslan.scsiguy.com>
References:  <200203111615.g2BGFpI11861@aslan.scsiguy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203111620.g2BGKk004690>