summaryrefslogtreecommitdiffstats
path: root/pciusb.c
diff options
context:
space:
mode:
Diffstat (limited to 'pciusb.c')
-rw-r--r--pciusb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pciusb.c b/pciusb.c
index eda4ca6..d1deda3 100644
--- a/pciusb.c
+++ b/pciusb.c
@@ -109,6 +109,9 @@ extern int pciusb_find_modules(struct pciusb_entries *entries, const char *fpciu
}
if (vendor != e->vendor || device != e->device)
continue; // main ids differ
+ if (nb < 4 && e->module)
+ continue; // already found a match and this match isn't a subid one (so it's not potentially more precise)
+
if (nb == 4 && e->subvendor == 0xffff && e->subdevice == 0xffff && !no_subid) {
pciusb_free(entries);
fh_close(&f);