From owner-freebsd-current@FreeBSD.ORG Thu Jan 22 13:02:33 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80E3310656F8 for ; Thu, 22 Jan 2009 13:02:33 +0000 (UTC) (envelope-from daichi@ongs.co.jp) Received: from natial.ongs.co.jp (natial.ongs.co.jp [202.216.246.90]) by mx1.freebsd.org (Postfix) with ESMTP id 47D558FC17 for ; Thu, 22 Jan 2009 13:02:33 +0000 (UTC) (envelope-from daichi@ongs.co.jp) Received: from parancell.ongs.co.jp (dullmdaler.ongs.co.jp [202.216.246.94]) by natial.ongs.co.jp (Postfix) with ESMTPSA id 6BBED125422; Thu, 22 Jan 2009 22:02:32 +0900 (JST) Message-ID: <49786E68.3030306@ongs.co.jp> Date: Thu, 22 Jan 2009 22:02:32 +0900 From: Daichi GOTO User-Agent: Thunderbird 2.0.0.19 (X11/20090113) MIME-Version: 1.0 To: Hans Petter Selasky References: <4978598E.80800@ongs.co.jp> <200901221327.47634.hselasky@c2i.net> In-Reply-To: <200901221327.47634.hselasky@c2i.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org, Masanori OZAWA Subject: Re: USB2: ugd round bug? including patch to solve. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Jan 2009 13:02:35 -0000 Hi HPS, Cool! thanks for your fastest check! I'm looking forward to current merging time ;) Hans Petter Selasky wrote: > On Thursday 22 January 2009, Daichi GOTO wrote: >> Hi USB2 folks ;-) >> >> First I should show you my big respect. Thank you very much for your >> great usb2 work. That works very well. >> >> Using usb2, I have found a issue around uhid. ugd will be zero-cleared >> when ioctl(fd, USB_GET_REPORT_DESC, &ugd) is called. >> >> For example, follow ioctl are used to get information of report descriptor. >> >> memset(&ugd, 0, sizeof(ugd)); >> ugd.ugd_data = malloc(len); >> ugd.ugd_maxlen = len; >> >> ioctl(fd, USB_GET_REPORT_DESC, &ugd) >> >> The information of report descriptor should be copied to ugd, but ugd is >> zero-cleared. >> >> From my research, perphaps follow patch is good solution to solve this >> problem. How do you usb2 guys make of this? Please check and solve >> this issue. Thanks :) > > Hi Daichi! > > Your patch is absolutely correct! Committed to P4. Will reach -current early > next week! > > http://perforce.freebsd.org/chv.cgi?CH=156515 > > Thanks for testing and finding bugs! > > --HPS > >> --- sys/dev/usb2/include/usb2_ioctl.h.orig 2009-01-22 >> 20:11:13.000000000 +0900 +++ sys/dev/usb2/include/usb2_ioctl.h 2009-01-22 >> 20:09:35.000000000 +0900 @@ -223,7 +223,7 @@ >> #define USB_DEVICEENUMERATE _IOW ('U', 6, int) >> >> /* Generic HID device */ >> -#define USB_GET_REPORT_DESC _IOR ('U', 21, struct >> usb2_gen_descriptor) +#define USB_GET_REPORT_DESC _IOWR('U', 21, >> struct usb2_gen_descriptor) #define USB_SET_IMMED _IOW >> ('U', 22, int) >> #define USB_GET_REPORT _IOWR('U', 23, struct >> usb2_gen_descriptor) #define USB_SET_REPORT _IOW ('U', 24, >> struct usb2_gen_descriptor) > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" -- Daichi GOTO, http://people.freebsd.org/~daichi