NetBSD Problem Report #26546

Received: (qmail 22805 invoked by uid 605); 4 Aug 2004 15:42:48 -0000
Message-Id: <20040804131842.5590E11152@narn.netbsd.org>
Date: Wed,  4 Aug 2004 13:18:42 +0000 (UTC)
From: dellis@conexant.com
Sender: gnats-bugs-owner@NetBSD.org
Reply-To: dellis@conexant.com
To: gnats-bugs@gnats.NetBSD.org
Subject: ohci can cancel timeouts before transfer have finished
X-Send-Pr-Version: www-1.0

>Number:         26546
>Category:       kern
>Synopsis:       ohci can cancel timeouts before transfer have finished
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    skrll
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 04 15:43:00 +0000 2004
>Closed-Date:    
>Last-Modified:  Sun Aug 25 07:13:31 +0000 2013
>Originator:     Dan Ellis
>Release:        
>Organization:
Conexant Systems Inc.
>Environment:
>Description:
In ohci.c, control transfers can fail to time out after the setup phase has completed if another transfer flushes the done queue. The same situation exists for bulk transfers split over more than one transfer descriptor.
>How-To-Repeat:
Heavy USB load with badly behaved hardware.
>Fix:
The cancellation of the timeout in ohci_softintr should predicate on the transfer being the last of the batch (in ohci.c):

@@ -1324,7 +1337,9 @@
 			/* Handled by abort routine. */
 			continue;
 		}
-		usb_uncallout(xfer->timeout_handle, ohci_timeout, xfer);
+
+                if (std->flags & OHCI_CALL_DONE)
+                        usb_uncallout(xfer->timeout_handle, ohci_timeout, xfer);

 		len = std->len;
 		if (std->td.td_cbp != 0)

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: misc-bug-people->kern-bug-people
Responsible-Changed-By: jmc@netbsd.org
Responsible-Changed-When: Thu, 20 Jan 2005 07:49:16 +0000
Responsible-Changed-Why:
kernel issue


Responsible-Changed-From-To: kern-bug-people->skrll
Responsible-Changed-By: skrll@NetBSD.org
Responsible-Changed-When: Sun, 25 Aug 2013 07:13:31 +0000
Responsible-Changed-Why:
Take


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.