Subject: Re: usb EIO return w. DIAGNOSTIC
To: None <tech-kern@netbsd.org>
From: Wolfgang Rupprecht <wolfgang@wsrcc.com>
List: tech-kern
Date: 02/20/2001 14:42:50
lennart@mail.augustsson.net (Lennart Augustsson) writes:
> Well, the device might be broken too, but ugen must have messed things
> up for pipeh to become NULL (or my brain is messed up :).

I think I have figured out what is going on from the user's side to
trigger this.  The two usages that cause the kprintf are:

        * Write endpoints don't like the short-xfer ioctl.
        * Control endpoints don't like the timeout ioctl.  

Once I hacked libusb to stop asking for those ioctls on the wrong type
of endpoints the kprintf's stopped.  These two issues can just be
written off as a ugen documentation issue (eg. not reading the
documentation closely enough ;-)).

My question is should the EIO return really be inside a DIAGNOSTIC
ifdef?  I'd think that always returning EIO if pipeh is NULL would be
more consistent.  (And in this case the initial author of libusb would
have caught his error.  He clearly wasn't running on a kernel with
DIAGNOSTIC defined.)

-wolfgang
-- 
       Wolfgang Rupprecht <wolfgang+gnus@dailyplanet.wsrcc.com>
		    http://www.wsrcc.com/wolfgang/
Coming soon: GPS mapping tools for Open Systems. http://www.gnomad-mapping.com/