blob: f42ef78ac7eec913ebf3d81e79bb4d9e603c713e [file] [log] [blame]
Patrick Georgid21f68b2008-09-02 16:06:22 +00001- handle error conditions
2- handle disconnect more gracefully (ie. make calling layer aware that the device doesn't exist somehow)
3- usbhub:
4 - proper client enumeration (esp. detach)
5 - change detection
6 - power management
7- handle interrupts more cleverly:
8 create a new queue for the interrupt with a couple of TD sequences,
9 - each ending with "breadth first" flag
10 - linked as a chain
11 add that queue at the appropriate times in front of the default structure so the max latency is honored
12 - only one intr chain per framelist item, so it must be arranged appropriately
13 reads from usb device just look at "invalidated" tds and the results they got
14 handled tds get reactivated as a ring structure
15 - added as child of the oldest td
16 - queue header already dropped the td, so no issue there
Stefan Reinauer14e22772010-04-27 06:56:47 +000017
Patrick Georgid21f68b2008-09-02 16:06:22 +000018 this setup ensures that:
19 - the max latency of the device is honored
20 - the client knows the right order of the data
21 - there is no need for an interrupt handler
22 - but must be polled at least max latency * num tds times -> more tds = less time pressure