This patchset implements Interface Association Descriptor suppoort. These descriptors are covered in Section 9.6.4 of the USB 3.0 spec, but there is a better description in the Intel IAD whitepaper (www.usb.org/developers/whitepapers/iadclasscode_r10.pdf).
The short version is that IAD is an extra descriptor type that appears before a group (two or more) interface descriptors, that explains which interface descriptors make up a virtual device. So it could look like: Config Desc IAD#0 Iface#0 Iface#1 Iface#2 IAD#1 Iface#3 Iface#4 [Check the diagram in the Intel IAD whitepaper if that makes no sense] The implementation basically introduces the concept of a grouped of interfaces (with an IAD header), and support for sending it to the device. The intended use for this is USB Video class devices, which have a Control interface and Streaming interface that are a single logical device.