From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 22 Feb 2011 17:02:42 +0000 To: 9fans@9fans.net User-Agent: Heirloom mailx 12.4pre 6/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20110222170448.9473A65D3E@server.hemiola.co.uk> From: rod@hemiola.co.uk Subject: [9fans] usb ohci - one more question Topicbox-Message-UUID: b2ef7fe0-ead6-11e9-9d60-3106f5b1d025 May I have one more question? When you create a new bulk or interrupt endpoint "epopen" is called. The aux field of the Ep is set to point to an array of two Qio structures. One for input and one for output. Both of those in turn have a pointer to, and a one-to-one correspondence with, an endpoint descriptor (Ed). "newed" is called for each Qio to link the Qio's endpoint descriptor into the controller's chain. I can't figure out why there are two Qio structs. The usb spec says that bulk/interrupt endpoints are unidirectional, so why wouldn't just a single one do? Thanks, rod