From owner-freebsd-bugs@FreeBSD.ORG Mon May 12 06:40:10 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 730D437B404 for ; Mon, 12 May 2003 06:40:10 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id A49D143FE9 for ; Mon, 12 May 2003 06:40:09 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h4CDe9Up047917 for ; Mon, 12 May 2003 06:40:09 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h4CDe9mt047915; Mon, 12 May 2003 06:40:09 -0700 (PDT) Date: Mon, 12 May 2003 06:40:09 -0700 (PDT) Message-Id: <200305121340.h4CDe9mt047915@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Sergey Akifyev Subject: Re: kern/51958: update for urio driver [PATCH] X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Sergey Akifyev List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 May 2003 13:40:10 -0000 The following reply was made to PR kern/51958; it has been noted by GNATS. From: Sergey Akifyev To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: kern/51958: update for urio driver [PATCH] Date: 12 May 2003 13:36:11 +0000 --=-7YCBWw1li8Ql/q4ZtJeP Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2003-05-08 at 09:45, Sergey Akifyev wrote: > Just apply the patch. I think I forgot to include the patch :b So, here it is: -----------% cut %----------- --- urio.c.orig Thu May 8 11:50:28 2003 +++ urio.c Thu May 8 12:16:35 2003 @@ -156,6 +156,8 @@ usbd_device_handle sc_udev; usbd_interface_handle sc_iface; =20 + int sc_mpio; + int sc_opened; usbd_pipe_handle sc_pipeh_in; usbd_pipe_handle sc_pipeh_out; @@ -183,16 +185,21 @@ return UMATCH_NONE; =20 dd =3D usbd_get_device_descriptor(uaa->device); + if (!dd) return UMATCH_NONE; =20 - if (dd && - ((UGETW(dd->idVendor) =3D=3D USB_VENDOR_DIAMOND && - UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIAMOND_RIO500USB) || - (UGETW(dd->idVendor) =3D=3D USB_VENDOR_DIAMOND2 && - (UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIAMOND2_RIO600USB || - UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIAMOND2_RIO800USB)))) + if (UGETW(dd->idVendor) =3D=3D USB_VENDOR_DIGITALWAY && + UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIGITALWAY_MPIO) { return UMATCH_VENDOR_PRODUCT; - else - return UMATCH_NONE; + } + + if (((UGETW(dd->idVendor) =3D=3D USB_VENDOR_DIAMOND && + UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIAMOND_RIO500USB) || + (UGETW(dd->idVendor) =3D=3D USB_VENDOR_DIAMOND2 && + (UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIAMOND2_RIO600USB || + UGETW(dd->idProduct) =3D=3D USB_PRODUCT_DIAMOND2_RIO800USB)))) + return UMATCH_VENDOR_PRODUCT; + + return UMATCH_NONE; } =20 USB_ATTACH(urio) @@ -201,6 +208,7 @@ char devinfo[1024]; usbd_device_handle udev; usbd_interface_handle iface; + usb_device_descriptor_t *dd; u_int8_t epcount; #if defined(__NetBSD__) || defined(__OpenBSD__) u_int8_t niface; @@ -239,6 +247,11 @@ } sc->sc_iface =3D iface; #endif + dd =3D usbd_get_device_descriptor(uaa->device); + if (!dd) USB_ATTACH_ERROR_RETURN; + + sc->sc_mpio =3D (UGETW(dd->idVendor) =3D=3D USB_VENDOR_DIGITALWAY); +=09 sc->sc_opened =3D 0; sc->sc_pipeh_in =3D 0; sc->sc_pipeh_out =3D 0; @@ -262,6 +275,10 @@ ermsg =3D "interface endpoint"; goto nobulk; } + + if (sc->sc_mpio && + UE_GET_XFERTYPE(edesc->bmAttributes) !=3D UE_BULK) + continue; =09 d =3D RIO_UE_GET_DIR(edesc->bEndpointAddress); if (d !=3D RIO_NODIR) @@ -313,7 +330,6 @@ if ((flag & (FWRITE|FREAD)) !=3D (FWRITE|FREAD)) return EACCES; =20 - sc->sc_opened =3D 1; sc->sc_pipeh_in =3D 0; sc->sc_pipeh_out =3D 0; if (usbd_open_pipe(sc->sc_iface,=20 @@ -332,6 +348,7 @@ sc->sc_pipeh_out =3D 0; return EIO; }; + sc->sc_opened =3D 1; return 0; } =20 @@ -517,6 +534,8 @@ usbd_status r; =20 USB_GET_SC(urio, unit, sc); + + if (sc->sc_mpio) return ENXIO; =20 switch (cmd) { case RIO_RECV_COMMAND: --- usbdevs.orig Thu May 8 11:51:36 2003 +++ usbdevs Thu May 8 12:07:59 2003 @@ -349,6 +349,7 @@ vendor ENTREGA 0x1645 Entrega vendor ACTIONTEC 0x1668 Actiontec Electronics vendor DLINK 0x2001 D-Link +vendor DIGITALWAY 0x2735 Digit@lway vendor DAISY 0x3579 Daisy Technology vendor INTEL 0x8086 Intel vendor HP2 0xf003 Hewlett Packard @@ -542,6 +543,9 @@ product DIGI ACCELEPORT2 0x0002 AccelePort USB 2 product DIGI ACCELEPORT4 0x0004 AccelePort USB 4 product DIGI ACCELEPORT8 0x0008 AccelePort USB 8 + +/* Digit@lway products */ +product DIGITALWAY MPIO 0x0001 MPIO MP3 Players =20 /* D-Link products */ /*product DLINK DSBS25 0x0100 DSB-S25 serial adapter*/ -----------% cut %----------- --=20 regards, Sergey Akifyev JSC Gascom PGP key available from: ftp://ftp.gascom.ru/pub/PGP-keys/asa.txt --=-7YCBWw1li8Ql/q4ZtJeP Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (FreeBSD) iD8DBQA+v6NKbu06QwmNwNsRAkxJAJ9Oe6TVDO6VB3b+GnI+XIYZ3KYkcQCfVAj8 Edfzxb8EXkI0qAPJi4jrN5E= =/mKY -----END PGP SIGNATURE----- --=-7YCBWw1li8Ql/q4ZtJeP--