USB polling

Hans Petter Selasky hselasky at c2i.net
Sat Jul 11 15:10:43 UTC 2009


On Friday 10 July 2009 19:20:01 Andrew Thompson wrote:
> Hi,
>
> The one usb task that is still an issue for 8.0 is the polling
> support. The code needs to call into the host controller driver to
> check if the usb descriptor has been marked as done and call the
> completion callback. I am now traveling so cant look at it, if anyone
> wants to have a look it would be fantastic. This is needed for places
> where a usb keyboard is used and interrupts are disabled (root mount,
> DDB).

Hi,

Probably we can implement USB polling with minimal transfer support. That 
basically means:

- no timeouts
- no automatic clear-stall

Only support for ukbd and umass.

Shouldn't be too hard.

What is more hard, is that the sys/dev/usb/input/ukbd.c driver has to get away 
from using the Giant lock. Last time I looked at that it was impossible 
because the whole keyboard layer was under Giant. Has anything changed here? 
If not the USB keyboard will only work if kdb_enter() is called when Giant is 
locked!

--HPS



More information about the freebsd-current mailing list