Some things that need to be done:
---------------------------------

High priority:
--------------

Fix flow control in ucom (copy from com driver).

Use some encapsulation in the upl driver to allow multiple protocols.

Get the uezcom driver (with Doug Ambrisko's firmware) running.


Bug reports:
------------

Bernd Ernesti's problem: host controller halted with umodem

umass problem with Ricoh flash reader

wskbd for X

mel kravitz's problem, lockups with disk and printer

Aaron's problem: Test aue with ohci.


General:
--------

Figure out why uvisor is so slow.
Try to get specs, and check if Linux driver is really right.

Do bandwidth accounting.

Throw out more USBDI gunk.

Make hub driver notice transition between self and bus powered state.
Some hubs change the number of available ports on this transition. :(
Handle overcurrent conditions.

Make it possible to open any device in a "generic" way, i.e., like ugen.
Perhaps usbdevfs?

Rotate the QHs for bulk transport to get fairer scheduling.

Change HC drivers to queue multiple request for an endpoint
to get better performance.

Do memory deallocation when HC driver is detached.

uaudio problems:
	mixer names are awful, use some heuristics.
	implement selector units
	debug input
	test with more devices

Stylistic changes:
	use usb_ and usbd_ consistently
	rearrange the contents and names of some files (Nick)

Factor out the common code from the Ethernet drivers and reuse that.
	if_aue - patch available
	if_axe - done
	if_axen - done
	if_cdce - done
	if_cue - patch available
	if_kue - patch available
	if_mue - patch available
	if_smsc - done
	if_udav - done
	if_umb - maybe too special?
	if_upl - patch available
	if_ure - done
	if_url - patch available
	if_urndis - done

Keyspan serial driver

Clean up umass driver


Documentation:
--------------

Document device driver API.

Document HC driver API.

Update ugen(4)
