Messages in this thread | | | Date | Mon, 15 Sep 2003 08:41:57 -0700 | From | David Brownell <> | Subject | Re: [linux-usb-devel] [USB] control queue full when using 2.6.0-test5 and apcupsd |
| |
M.S. Lucas wrote: > Hello, > > I'm having problems with my APC UPS using an USB cable and the 2.6.0-test5 > kernel > > I hope somebody can help me? > > ...
So it looks like it enumerated OK, but then the HID code misbehaved.
> root@orion:/etc/apcupsd $ /etc/init.d/apcupsd-devel start > Starting APC UPS power management: apcupsd-devel. > This is in my logfiles > Sep 15 16:00:06 orion apcupsd[21908]: apcupsd 3.10.6 (05 August 2003) debian > startup succeeded > Sep 15 16:00:07 orion kernel: drivers/usb/input/hid-core.c: control queue > full > Sep 15 16:00:38 orion last message repeated 148089 times > Sep 15 16:00:53 orion last message repeated 84977 times > Sep 15 16:00:53 orion kernel: drivers/usb/input/hid-core.c: control queue > full > Sep 15 16:00:53 orion last message repeated 3163 times > ...etc
Actually the HID code isn't doing control queueing very intelligently.
As of 2.6, it no longer needs to avoid passing multiple control requests to the same device ... the HCDs now queue them like any other kind of transfer(*). So the "good" fix there would be to the HID code, getting rid of a fixed size queue. Or, you could make a "dirty" fix and just increase the queue size again ... it's already huge (so that it'll handle some MGE UPSes), make it even more so.
- Dave
(*) However there's still a patch pending to fix a bug in the UHCI driver, where it inappropriately patches up data toggles in control transfers in certain cases with queue length greater than one URB. You're using OHCI (or EHCI), and should have no problem with 2.6.0-test5 kernels.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |