Subject: Re: kern/34070: btconfig: SIOCSBTFLAGS: Resource temporarily
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: netbsd-bugs
Date: 11/21/2006 20:55:04
The following reply was made to PR kern/34070; it has been noted by GNATS.

From: Matthias Drochner <M.Drochner@fz-juelich.de>
To: Iain Hibbert <plunky@rya-online.net>
Cc: Matthias Drochner <M.Drochner@fz-juelich.de>,
	gnats-bugs@NetBSD.org, kern-bug-people@NetBSD.org,
	gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org, wulf@NetBSD.org
Subject: Re: kern/34070: btconfig: SIOCSBTFLAGS: Resource temporarily 
 unavailable
Date: Tue, 21 Nov 2006 21:53:57 +0100

 plunky@rya-online.net said:
 [FreeBSD]
 >   Fix the silly bug that prevented most EHCI interrupt transfers from
 >   ever working correctly: the code was linking the QHs together but
 >   then immediately overwriting the "next" pointers
 
 This might corrspond to NetBSD's
 revision 1.92
 date: 2005/04/27 02:12:20;  author: augustss;  state: Exp;  lines: +2 -3
 Don't null the qh_link point in the interrupt tree after it has been
 initialized.  From Dan Ellis in kern/30003.
 
 I don't think this is the problem. I believe now that the data toggle
 stuff is buggy. If I comment out the code after
 	/*
 	 * For a short transfer we need to update the toggle for the missing
 	 * packets within the qTD.
 	 */
 in the interrupt handler, the adapter initializes. If I try "btconfig -vvvv",
 it hangs, so it seems that transfers up to 16 bytes work which is more
 or less the same effect as I had before with the pipe size of 16.
 The code above looks bogus - I can't imagine how transactions which are
 not executed could contribute to the state of the data toggle protocol.
 To understand more I need to have a more thourough look at the specs.
 
 best regards
 Matthias