Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 May 2003 06:40:09 -0700 (PDT)
From:      Sergey Akifyev <asa@gascom.ru>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/51958: update for urio driver [PATCH]
Message-ID:  <200305121340.h4CDe9mt047915@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/51958; it has been noted by GNATS.

From: Sergey Akifyev <asa@gascom.ru>
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 <asa@gascom.ru>
 JSC Gascom <http://www.gascom.ru>;
 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--
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305121340.h4CDe9mt047915>