Hi Alan, These compile, but haven't been tested yet. The last patch should give you an idea of what sort of algorithm the hardware folks came up with for LS/FS/HS bandwidth tracking. The SuperSpeed bandwidth tracking isn't done yet, but I don't expect many people to plug in large amounts of SuperSpeed periodic devices at this time. :) I would suggest starting with the last patch takes a table with a "row" per periodic interval and computes the bandwidth consumed, using the algorithm. All the rest of the code is just used to create that table, and revert it back if there isn't enough bandwidth for the changes. I'll test these further tonight/tomorrow and fix the inevitable silly mistakes I've made. Sarah Sarah Sharp (9): Trivial: xhci: Fix copy-paste error. xhci: If no endpoints changed, don't issue BW command. xhci: Rename virt_dev->port to fake_port. xhci: Refactor endpoint limit checking. xhci: Store the "real" root port number. xhci: Store information about roothubs and TTs. xhci: Store endpoint bandwidth information. xhci: Track interval bandwidth tables per port/TT. xhci: Implement HS/FS/LS bandwidth checking. drivers/usb/host/xhci-hub.c | 2 +- drivers/usb/host/xhci-mem.c | 213 ++++++++++++++++- drivers/usb/host/xhci.c | 559 +++++++++++++++++++++++++++++++++++++++++-- drivers/usb/host/xhci.h | 149 +++++++++++- 4 files changed, 897 insertions(+), 26 deletions(-) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html