Subject: Re: ucom read error restart
To: Darrin B. Jewell <dbj@NetBSD.org>
From: Matthew Orgass <darkstar@city-net.com>
List: tech-kern
Date: 07/28/2004 15:10:05
On 2004-07-28 dbj@NetBSD.org wrote:

> For reasons I have not yet been able to diagnose, uplcom at uhci
> on my machine gets spurious CRCTO|STALLED errors on its bulk-in endpoint
> when idle.  Unfortunately, the ucom.c ucomreadcb function does a
> rather poor job of error recovery and when this happens a device close
> and reopen is required to reset it.
>
> The following patch tries an immediate restart.  Does this look ok?
> I'm worried that in some situations the restart without delay could
> cause it to spin.  Is that a likely scenario?  Would it lock anything,
> or just gratuitously use cpu cycles until the device is closed?

  If the endpoint keeps stalling when used with a slhci controller it
would cause most or all of the cpu time to be spent in interrupts until
the device is closed.  I think the same would happen on the other HCs as
well.  It should not be that difficult to restart the transfer from a
callout.

Matthew Orgass
darkstar@city-net.com