On Fri, May 12, 2000 at 08:20:11AM -0700, Dunlap, Randy wrote:
[...]
> > > 32 * HZ is probably larger than 256, right?
> > > So your interval parameter becomes larger than any "expected"
> > > interval value. Try it with a value < 256 (like 128 or even 32).
> > > I'm surprised that it's accepting your usb_submit_urb().
> > > Which host controller driver is this?
> > I tried with endpoint 1 and interval 32ms (hey but look at
> > linux/drivers/usb/scanner.c, there is *HZ used, why?).
> > I am getting -EINVAL (-22). Changing endpoint to 0x81 gives
> > me -EMSGSIZE again.
>
> a. Which host controller driver are you using? They don't really
> know how to handle an Interrupt URB with Interval > 256.
Do you mean which kernel? 2.3.99-pre6.
>
> b. Current scanner.c does NOT use "*HZ" in FILL_INT_URB() like
> you are doing. It DOES use "*HZ" in usb_bulk_msg() and
> usb_control_msg(), but this is for the timeout parameter,
> not for an Interrupt endpoint Interval, which must be <= 256.
Ooops. Sorry, I see my ignorance. Again sorry.
> > > > Even more... When I create pipe with usb_rcvintpipe() then
> > > > usb_submit_urb returns 0 and function drawer_complete() is
> > > > called. So, one little success, but buff buffer remains
> > > > unchanged.
> > >
> > > What's urb->status in the callback function?
> > Always 0.
>
> 0 == success, so it thinks that it worked.
wrobell <[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]