NetBSD Problem Report #26547

Received: (qmail 26554 invoked by uid 605); 4 Aug 2004 15:46:29 -0000
Message-Id: <20040804132220.A4AEC11153@narn.netbsd.org>
Date: Wed,  4 Aug 2004 13:22:20 +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:         26547
>Category:       kern
>Synopsis:       ohci can free soft tds incorrectly during abort
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    skrll
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 04 15:47:00 +0000 2004
>Closed-Date:    Sat Apr 23 13:30:24 +0000 2016
>Last-Modified:  Sat Apr 23 13:30:24 +0000 2016
>Originator:     Dan Ellis
>Release:        
>Organization:
Conexant Systems Inc.
>Environment:
>Description:
In usb/ohci.c, some devices fail to abort cleanly - transfers can be removed from the done queue resulting in a kernel panic.
>How-To-Repeat:
Plugging in mass storage devices such as a Canon 750Z Camera.
>Fix:
Transfers should only be removed if they haven't already completed (in usb/ohci.c):

@@ -2229,7 +2244,9 @@
 	for (; p->xfer == xfer; p = n) {
 		hit |= headp == p->physaddr;
 		n = p->nexttd;
-		ohci_free_std(sc, p);
+		if (OHCI_TD_GET_CC(le32toh(p->td.td_flags)) ==
+                    OHCI_CC_NOT_ACCESSED)
+                    ohci_free_std(sc, p);
 	}
 	/* Zap headp register if hardware pointed inside the xfer. */
 	if (hit) {

>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:26 +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:53 +0000
Responsible-Changed-Why:
Take


State-Changed-From-To: open->feedback
State-Changed-By: skrll@NetBSD.org
State-Changed-When: Sat, 23 Apr 2016 13:26:29 +0000
State-Changed-Why:
Should be fixed in 7.99.28 (nick-nhusb merge). OK to close?


State-Changed-From-To: feedback->closed
State-Changed-By: skrll@NetBSD.org
State-Changed-When: Sat, 23 Apr 2016 13:30:24 +0000
State-Changed-Why:
email bounced


>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.