--- 05e6d313961e3e3ce9ed3a09126f80ba65f7daff +++ 1a78cd135aba22be68c6694a0d0ad2f1d655abdc @@ -120,7 +120,7 @@ int usb_choose_configuration(struct usb_ * than a vendor-specific driver. */ else if (udev->descriptor.bDeviceClass != USB_CLASS_VENDOR_SPEC && - (!desc || desc->bInterfaceClass != + (desc && desc->bInterfaceClass != USB_CLASS_VENDOR_SPEC)) { best = c; break;