On Mon, Sep 21, 2020 at 01:53:52PM +0200, Oliver Neukum wrote: > Am Montag, den 21.09.2020, 13:35 +0200 schrieb Johan Hovold: > > Instead of falling back to "combined-interface" probing when detecting > > broken union and call-management descriptors, assume all interfaces with > > three endpoints are of "combined-interface" type. > > Hi, > > this just ignores a union header. I am afraid that is not correct. > Could you move it into the !union_header clause? And probe for a combined interface before falling back to the management descriptor then? Along the lines of if (!union_desc) { if (bNumEndpoints == 3) { goto probe_combined_interface; } else if (call_intf_num > 0) { data_intf_num = call_intf_num; ... } else { return -ENODEV; } } else { ... } Johan