Subject: Re: kern/29731: ehci driver erroneously reports IO errors
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Dan Ellis <dellis@conexant.com>
List: netbsd-bugs
Date: 04/18/2005 09:56:02
The following reply was made to PR kern/29731; it has been noted by GNATS.
From: Dan Ellis <dellis@conexant.com>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org
Subject: Re: kern/29731: ehci driver erroneously reports IO errors
Date: Mon, 18 Apr 2005 10:45:50 +0100
dan@pod51.demon.co.uk wrote:
> A suitable fix would be to alter line 833 (of revision 1.91) to say:
>
> if (status & EHCI_QTD_HALTED) {
This fix seems wrong given that the HALTED bit can be masked
away on line 801.
I'm curious, what are the errors that you have observed that
the host controller recovers from?
Line 801 only masks HALTED if it's the last one and complete, not for
intermediate transfers or short reads.
The host controller can recover from up to 3 errors on a given
transaction. We are developing some hardware which was causing a lot of
XACTER and BUFERR errors, but they were getting through with the
hardware retries.
I suspect the error rate in normal operation is not absolutely zero -
there is quite possibly the odd transaction which has an error and has
to get retried, but halting the pipe just because there was a retry
could be a bit terminal.
If a transfer is not marked as NORMAL_COMPLETION when it has only
suffered retries,. then further up the stack, it doesn't complete
properly, especially if it is marked as IOERROR.
--
Daniel Ellis Conexant Systems Ltd
Senior Software Engineer Unit 230 Cambridge Science Park
http://www.conexant.com Milton Road
Phone: +44 1223 707318 Cambridge CB4 0WB
Fax: +44 1223 707447 UK
********************** Legal Disclaimer ****************************
"This email may contain confidential and privileged material for the sole use of the intended recipient. Any unauthorized review, use or distribution by others is strictly prohibited. If you have received the message in error, please advise the sender by reply email and delete the message. Thank you."
**********************************************************************