Subject: kern/9758: USB HID parser
To: None <netbsd-bugs@netbsd.org>
From: John Darrow <John.P.Darrow@wheaton.edu>
List: netbsd-bugs
Date: 04/05/2000 14:58:22
Date: Wed, 5 Apr 2000 05:06:23 -0700 (PDT)
From: uch@nop.or.jp
Reply-To:
To: gnats-bugs@gnats.netbsd.org
Subject: USB HID parser 


>Number:         9758
>Category:       kern
>Synopsis:       HID report descriptor Pop item doesn't work.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 03 09:18:00 PDT 2000
>Closed-Date:    
>Last-Modified:  
>Originator:     UCHIYAMA Yasushi
>Release:        NetBSD-current 2000-04-04
>Organization:
>Environment:
System: NetBSD sana.rfe.nop.or.jp 1.4X NetBSD 1.4X (TX3922) #29: Tue Apr 4 00:49:26 JST 2000 uch@alexandrite.rfe.nop.or.jp:/usr/work/cvsrep/syssrc/sys/arch/hpcmips/compile/TX3922 hpcmips




>Description:
 When Pop item replace the item state table(s->cur = *hi), following
c->loc = oldloc line override Report Size, Report Count items with old
state.
>How-To-Repeat:
 Microsoft SideWinder Precision Pro (USB)
>Fix:
RCS file: /cvsroot/syssrc/sys/dev/usb/hid.c,v
retrieving revision 1.13
diff -u -r1.13 hid.c
--- hid.c	2000/03/27 12:33:53	1.13
+++ hid.c	2000/04/03 10:56:32
@@ -302,7 +302,7 @@
 				hi = c->next;
 				oldloc = c->loc;
 				s->cur = *hi;
-				c->loc = oldloc;
+				c->loc.pos = oldloc.pos;
 				free(hi, M_TEMP);
 				break;
 			default:


>Release-Note:
>Audit-Trail:
>Unformatted: