I have been looking for information on “PCI phantom functions”, and I am wondering if they are contributing to this problem.
You mentioned functions 80:14.0 and .5 in the “sys-usb crash” thread.
If the other missing functions are used by the device, for thunderbolt or other things, but without being advertised, then that could or should prevent passthrough, except if Xen/Qubes knows about them.
Maybe a pci-phantom=... option to xen could help, as in this issue.
This is only guesswork. It might (or not) be useful to compare the lspci output for the device when different drivers/OS are being used, and when different usb/thunderbolt devices are plugged. Do different functions appear, depending on how the device is used?
I do not think that any “unknown” descriptions in lspci are causing passthrough failure - these descriptions come from an external database and play no part in the “mechanics” (see man lspci for details). Maybe a future kernel or xen release could “know” about the details of the device, but it should be possible to attach a device which has no driver or lspci database info in Dom0. Maybe a future BIOS/motherboard firmware release could also make phantom devices be correctly visible on the bus.
Anyway, it’s just an idea from someone who really doesn’t know what they are talking about… but who is interested to know what you find.