diff --git a/drivers/pci/search.c b/drivers/pci/search.c index b137a27472c7feefef492da45e7058cc3356c8bb..c13232435dc06322f824b1f4fd07d34bdce112bb 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -403,10 +403,11 @@ const struct pci_device_id *pci_find_present(const struct pci_device_id *ids) while (ids->vendor || ids->subvendor || ids->class_mask) { list_for_each_entry(dev, &pci_devices, global_list) { if ((found = pci_match_one_device(ids, dev)) != NULL) - break; + goto exit; } ids++; } +exit: up_read(&pci_bus_sem); return found; }