FreeBSD/sys/dev/firewire/firewire.c
/*
 * Async. request with given xfer structure.
 */
Async. request with given xfer structure.
Async . request with given xfer structure .
static void
fw_asystart(struct fw_xfer *xfer)
{
	struct firewire_comm *fc = xfer->fc;
	FW_GLOCK(fc);
	xfer->flag = FWXF_INQ;
	STAILQ_INSERT_TAIL(&xfer->q->q, xfer, link);
#if 0
	xfer->q->queued++;
#endif
	FW_GUNLOCK(fc);
	if (xfer->mbuf == NULL)
		xfer->q->start(fc);
	return;
}
static void fw_asystart ( struct fw_xfer * xfer ) { struct firewire_comm * fc = xfer -> fc ; FW_GLOCK ( fc ) ; xfer -> flag = FWXF_INQ ; STAILQ_INSERT_TAIL ( & xfer -> q -> q , xfer , link ) ; #if 0 xfer -> q -> queued ++ ; #endif FW_GUNLOCK ( fc ) ; if ( xfer -> mbuf == NULL ) xfer -> q -> start ( fc ) ; return ; }
Async.
Async .
/* Protect from interrupt/timeout */ /* XXX just queue for mbuf */