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