From owner-FreeBSD-users-jp@jp.FreeBSD.org Tue Dec  3 00:16:48 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id gB2FGmC89435;
	Tue, 3 Dec 2002 00:16:48 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from localhost (castle.jp.FreeBSD.org [2001:218:422:1::15])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet6 id gB2FGl289425;
	Tue, 3 Dec 2002 00:16:47 +0900 (JST)
	(envelope-from akiyama@jp.FreeBSD.org)
From: Shunsuke Akiyama <akiyama@jp.FreeBSD.org>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <20021201.184701.74757987.takaha@mue.biglobe.ne.jp>
References: <20021117.152755.607954636.karuhito@cam.hi-ho.ne.jp>
	<20021120.162251.126570074.takaha@mue.biglobe.ne.jp>
	<20021201.184701.74757987.takaha@mue.biglobe.ne.jp>
User-Agent: Wanderlust/2.8.1 (Something) SEMI/1.14.4 (Hosorogi) FLIM/1.14.4
 (=?ISO-8859-4?Q?Kashiharajing=FE-mae?=) APEL/10.4 Emacs/20.7
 (i386--freebsd) MULE/4.0 (HANANOEN)
MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi")
Content-Type: text/plain; charset=ISO-2022-JP
Message-Id: <20021203001645U.akiyama@jp.FreeBSD.org>
X-Dispatcher: imput version 20000228(IM140)
Lines: 98
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Tue, 03 Dec 2002 00:16:44 +0900
X-Sequence: FreeBSD-users-jp 72456
Subject: [FreeBSD-users-jp 72456] Re: uvscom (Re: Slipper U(VS-12U) + AH-G10 problem)
Errors-To: owner-FreeBSD-users-jp@jp.FreeBSD.org
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: akiyama@jp.FreeBSD.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+021111

$B$"$-$d$^$G$9!#(B

At Sun, 01 Dec 2002 18:47:01 +0900,
Daisuke Takahashi wrote:

> sys/dev/usb/uvscom.c$B$KE:IU$N%Q%C%A$r$"$F$F;n$7$F$b$i$($^$;$s$+(B?
> 
> 
> $B$I$&$b0lEY$K$?$/$5$s$N%G!<%?$rAw$m$&$H$9$k$HAw?.$G$-$J$$$h$&$G$9!#(B

$B$&!<$`!"$=$&$@$C$?$N$+!#(B
Windows $B$N%I%i%$%P$,Aw=P$7$F$$$k%G!<%?$G$O!"(BMax 64 $B%P%$%H$0$i$$$OAw$C(B
$B$F$$$k$h$&$@$C$?$N$G$9$,!#(B

$B!t(B $B$d$O$j!"$A$c$s$H$7$?;qNA$,$J$$$H%@%a$G$9$J!#(B

> $B$?$@!"(Bucom$B$+$i%G!<%?$rAw?.$9$kItJ,$G%G!<%?$r%@%s%W$7$F$_$^$7$?$,!"(B
> ucom$BB&$G$OLdBj$J$/%G!<%?$r=P$7$F$$$k$h$&$K;W$o$l$^$9!#(B
> 
> $B$I$3$G$*$+$7$/$J$C$F$$$k$N$+;d$K$O$A$g$C$H$o$+$i$J$$$G$9!#!#!#(B

$B$=$&$$$&$3$H$J$i!"0lHV2x$7$$$N$O!"(Buvscom.c $B$+(B USB $B%9%?%C%/$N$$$:$l$+$G(B
$B$7$g$&!#(B

> [2 uvscom.diff <text/plain; us-ascii (7bit)>]
> --- uvscom.c.orig       Fri Aug  9 03:45:04 2002
> +++ uvscom.c    Sun Dec  1 15:03:19 2002

$BAw=P%Q%1%C%H%5%$%:$r(B sysctl $B$GJQ99$G$-$k$h$&$K=q$-49$($F$_$^$7$?!#(B
$B$3$s$J$s$I$&$G$7$g$&!)(B

Index: sys/dev/usb/uvscom.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/usb/uvscom.c,v
retrieving revision 1.9.2.1
diff -u -r1.9.2.1 uvscom.c
--- sys/dev/usb/uvscom.c	8 Aug 2002 18:45:04 -0000	1.9.2.1
+++ sys/dev/usb/uvscom.c	2 Dec 2002 14:11:01 -0000
@@ -69,9 +69,9 @@
 
 #include <dev/usb/ucomvar.h>
 
+SYSCTL_NODE(_hw_usb, OID_AUTO, uvscom, CTLFLAG_RW, 0, "USB uvscom");
 #ifdef USB_DEBUG
 static int	uvscomdebug = 0;
-SYSCTL_NODE(_hw_usb, OID_AUTO, uvscom, CTLFLAG_RW, 0, "USB uvscom");
 SYSCTL_INT(_hw_usb_uvscom, OID_AUTO, debug, CTLFLAG_RW,
 	   &uvscomdebug, 0, "uvscom debug level");
 
@@ -228,15 +228,20 @@
 };
 
 Static driver_t uvscom_driver = {
-	"uvscom",
+	"ucom",
 	uvscom_methods,
 	sizeof (struct uvscom_softc)
 };
 
 DRIVER_MODULE(uvscom, uhub, uvscom_driver, ucom_devclass, usbd_driver_load, 0);
+MODULE_DEPEND(uvscom, usb, 1, 1, 1);
 MODULE_DEPEND(uvscom, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER);
 MODULE_VERSION(uvscom, UVSCOM_MODVER);
 
+static int	uvscomobufsiz = UVSCOMOBUFSIZE;
+SYSCTL_INT(_hw_usb_uvscom, OID_AUTO, opktsize, CTLFLAG_RW,
+	   &uvscomobufsiz, 0, "uvscom output packet size");
+
 USB_MATCH(uvscom)
 {
 	USB_MATCH_START(uvscom, uaa);
@@ -352,6 +357,12 @@
 		goto error;
 	}
 
+	/* check parameter */
+	if (!(0 < uvscomobufsiz && uvscomobufsiz <= UVSCOMOBUFSIZE)) {
+		printf("%s: Illegal output packet size\n", devname);
+		goto error;
+	}
+
 	sc->sc_dtr = sc->sc_rts = 0;
 	sc->sc_lcr = UVSCOM_LINE_INIT;
 
@@ -359,7 +370,7 @@
 	ucom->sc_portno = UCOM_UNK_PORTNO;
 	/* bulkin, bulkout set above */
 	ucom->sc_ibufsize = UVSCOMIBUFSIZE;
-	ucom->sc_obufsize = UVSCOMOBUFSIZE;
+	ucom->sc_obufsize = uvscomobufsiz;
 	ucom->sc_ibufsizepad = UVSCOMIBUFSIZE;
 	ucom->sc_opkthdrlen = 0;
 	ucom->sc_callback = &uvscom_callback;

-- 
$B$"$-$d$^(B $B$7$e$s$9$1(B
akiyama@jp.FreeBSD.org
akiyama@FreeBSD.org
