From: Vojtech P. <vo...@su...> - 2002-01-27 00:23:25
|
On Sat, Jan 26, 2002 at 11:55:51PM +0100, Bj|rn Augustsson wrote: > Quoting Vojtech Pavlik <vo...@su...>: > > On Sat, Jan 26, 2002 at 08:13:26PM +0100, Bj|rn Augustsson wrote: > > > Quoting Vojtech Pavlik <vo...@su...>: > > > > > > > > Maybe update, there was a serious rewrite of that part. > > > > > > I'm trying! :) > > > > > > I haven't gotten anything since that to build and boot, that's all... > > > > Use 2.5.2-dj6 if you can, that's probably the easiest (and working as > > well). > > Good advice, it turns out. A few hours later, I have a working (?) > kernel, by getting dj6 and then replacing _only_ the > linux/drivers/usb/hid* files with the stuff from the CVS. > > Another question! > > How come you set the output interrupt pipe to be a bulk pipe? That seems > obviously wrong, and it wasn't that way in my patch. I'll have to research this further, but for me it was the only working way to generate an one-shot out interrupt. Actually it's the same on the USB bus. But I agree that it's non-obvious and that there may be a better way to do it. > Do you know something I don't? > (It had a "/* FIXME should we use sndint here? */" after it, which was > removed by 1.39) See above. You can try with the sndintpipe - if it works, OK. I can't check with any HID device right now. Perhaps Johann Deneux can check with I-Force - there is also bulk used instead of int and it works OK. > I've attached a mini-patch as well, that fixes another thing. We only > want to send outbound output reports over the output pipe - feature > reports still go over the control pipe. Ahh, correct. Thanks. In the CVS now. > > /August. > -- > Wrong on most accounts. const Foo *foo; and Foo const *foo; mean the same: foo > being a pointer to const Foo. const Foo const *foo; would mean the same but is > illegal (double const). You are confusing this with Foo * const foo; and const > Foo * const foo; respectively. -David Kastrup, comp.os.linux.development.system > --- /usr/src/joy/ruby/linux/drivers/usb/hid-core.c Sat Jan 26 21:08:47 2002 > +++ hid-core.c Sat Jan 26 23:50:53 2002 > @@ -1093,7 +1093,7 @@ > int head; > unsigned long flags; > > - if (dir == USB_DIR_OUT && hid->urbout) { > + if (dir == USB_DIR_OUT && hid->urbout && report->type == HID_OUTPUT_REPORT) { > > spin_lock_irqsave(&hid->outlock, flags); > -- Vojtech Pavlik SuSE Labs |