NetBSD Problem Report #42838

From www@NetBSD.org  Wed Feb 17 20:41:11 2010
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id BD46D63C470
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 17 Feb 2010 20:41:11 +0000 (UTC)
Message-Id: <20100217204111.89E4963C142@www.NetBSD.org>
Date: Wed, 17 Feb 2010 20:41:11 +0000 (UTC)
From: tnn@NetBSD.org
Reply-To: tnn@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: sys/dev/usb/ucom.c 1.82 broke uftdi(4)
X-Send-Pr-Version: www-1.0

>Number:         42838
>Category:       kern
>Synopsis:       sys/dev/usb/ucom.c 1.82 broke uftdi(4)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    scw
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 17 20:45:00 +0000 2010
>Closed-Date:    Mon Mar 15 17:23:17 +0000 2010
>Last-Modified:  Mon Mar 15 17:23:17 +0000 2010
>Originator:     Tobias Nygren
>Release:        5.99.24 i386
>Organization:
>Environment:
>Description:
Opening the uftdi(4) com port with tip(1) wedges the tip process (probably at spltty()) and the kernel stops responding:

ehci0: handing over full speed device on port 1 to uhci0
uftdi0 at uhub0 port 1
uftdi0: FTDI FT232R USB UART, rev 2.00/6.00, addr 2
ucom0 at uftdi0 portno 1

uftdi_param: sc=0xcccd6cbc
uftdi_status: msr=0x00 lsr=0x00
uftdi_param: sc=0xcccd6cbc
uftdi_set: sc=0xcccd6cbc, port=1 reg=1 onoff=1
uftdi_set: sc=0xcccd6cbc, port=1 reg=2 onoff=1
uftdi_param: sc=0xcccd6cbc

db{0}> trace: pid 41 lid 1 at 0xcd6ba76c
sleepq_block(0,0,c0a70150,0,0,c2986600,cd6ba7cc,c06f1185,c29d133c,0) at netbsd:sleepq_block+0x182
usbd_transfer(c29d1300,c2986600,0,1388,cd6ba8a4,0,0,0,0,cd5d0540) at netbsd:usbd_transfer+0x1cb
usbd_do_request_flags_pipe(c2986600,c2986500,cd6ba8a4,0,0,0,1388,c063dcb3,c0a67baa,5) at netbsd:usbd_do_request_flags_pipe+0xd5
usbd_do_request_flags(c2986600,cd6ba8a4,0,0,0,1388,cd6ba8bc,c06b8b05,c2986600,cd6ba8a4) at netbsd:usbd_do_request_flags+0x3c
usbd_do_request(c2986600,cd6ba8a4,0,c0637c2c,cbc89c10,c0b87b58,1a8bc,cccd2c10,41380340,1) at netbsd:usbd_do_request+0x37
uftdi_param(cccd6cbc,1,cd6bac50,cccd2c10,cd6bac50,cccd2c10,cd6baa5c,c0684575,cccd2c10,cd6bac50) at netbsd:uftdi_param+0xfd
ucomparam(cccd2c10,cd6bac50,0,10,cd5d0540,ccd14d14,0,cccd2c10,ccd14d14,cd5d0540) at netbsd:ucomparam+0xbc
ttioctl(cccd2c10,802c7416,cd6bac50,4007,cd5d0540,cd2f2684,0,cbeac520,0,cd5d0540) at netbsd:ttioctl+0x635
ucomioctl(4200,0,802c7416,cd6bac50,4007,cd5d0540,cd2f2684,cd5d0540,4007,cd6bac50) at netbsd:ucomioctl+0xe0
cdev_ioctl(4200,0,802c7416,cd6bac50,4007,cd5d0540,4200,0,cd2f2684,802c7416) at netbsd:cdev_ioctl+0x75
spec_ioctl(cd6bab30,0,cd6bab3c,c079cc15,cbf29c50,cd6432c0,cd6bab4c,c09d23a0,cd2f2684,802c7416) at netbsd:spec_ioctl+0xa6
VOP_IOCTL(cd2f2684,802c7416,cd6bac50,4007,cd5cfc00,cd5d0540,0,0,0,0) at netbsd:VOP_IOCTL+0x74
vn_ioctl(cccf6640,802c7416,cd6bac50,cd643140,cd643240,ffffffff,0,ffffffed,2,802c) at netbsd:vn_ioctl+0x5d
sys_ioctl(cd5d0540,cd6bad00,cd6bad28,bbbe1074,bbbe1000,cd66db30,36,3,802c7416,bfbfed94) at netbsd:sys_ioctl+0xf3
syscall(cd6bad48,b3,ab,1f,1f,bbbe44c0,3,bfbfed78,bbbd66a4,bfbfed94) at netbsd:syscall+0xc4

>How-To-Repeat:
attach to the com port with tip(1).
>Fix:
Back out sys/dev/usb/ucom.c 1.82

>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->analyzed
State-Changed-By: tnn@NetBSD.org
State-Changed-When: Fri, 05 Mar 2010 14:38:07 +0000
State-Changed-Why:
http://mail-index.netbsd.org/current-users/2010/02/20/msg012654.html


From: Steve Woodford <scw@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/42838 CVS commit: src/sys/dev/usb
Date: Sat, 13 Mar 2010 16:28:13 +0000

 Module Name:	src
 Committed By:	scw
 Date:		Sat Mar 13 16:28:13 UTC 2010

 Modified Files:
 	src/sys/dev/usb: ucomvar.h uftdi.c

 Log Message:
 Fix PR kern/42838 using option #1 as described by KIYOHARA Takashi in
 http://mail-index.netbsd.org/current-users/2010/02/20/msg012654.html

 Add a comment in struct ucom_methods to explain usage of 'ptr' and 'count'
 in the ucom_read handler.


 To generate a diff of this commit:
 cvs rdiff -u -r1.17 -r1.18 src/sys/dev/usb/ucomvar.h
 cvs rdiff -u -r1.45 -r1.46 src/sys/dev/usb/uftdi.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Responsible-Changed-From-To: kern-bug-people->scw
Responsible-Changed-By: scw@NetBSD.org
Responsible-Changed-When: Sat, 13 Mar 2010 16:35:03 +0000
Responsible-Changed-Why:
Take.


State-Changed-From-To: analyzed->feedback
State-Changed-By: scw@NetBSD.org
State-Changed-When: Sat, 13 Mar 2010 16:35:03 +0000
State-Changed-Why:
Fix from http://mail-index.netbsd.org/current-users/2010/02/20/msg012654.html applied


State-Changed-From-To: feedback->closed
State-Changed-By: tnn@NetBSD.org
State-Changed-When: Mon, 15 Mar 2010 17:23:17 +0000
State-Changed-Why:
confirming fixed


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