Re: [linux-usb-devel] [USB] control queue full when using 2.6.0-test5and apcupsd

From: David Brownell
Date: Mon Sep 15 2003 - 10:38:39 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/