diff --git a/sanei/sanei_usb.c b/sanei/sanei_usb.c index 79745f0..e706dd4 100644 --- a/sanei/sanei_usb.c +++ b/sanei/sanei_usb.c @@ -1236,6 +1236,9 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) /* Loop through all of the alternate settings */ for (a = 0; a < dev->config[c].interface[i].num_altsetting; a++) { + /* For config[0], seek only interfaces found in sanei_usb_init */ + if (c == 0 && i != devices[devcount].interface_nr) + continue; DBG (5, "sanei_usb_open: configuration nr: %d\n", c); DBG (5, "sanei_usb_open: interface nr: %d\n", i); @@ -1540,6 +1543,10 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) /* Loop through all of the alternate settings */ for (a = 0; a < config->interface[i].num_altsetting; a++) { + /* For config[0], seek only interfaces found in sanei_usb_init */ + if (c == 0 && i != devices[devcount].interface_nr) + continue; + const struct libusb_interface_descriptor *interface; DBG (5, "sanei_usb_open: configuration nr: %d\n", c);