Reduce excessive pci_get_devid() and pci_get_revid() calls
on the same PCI device while device probing.
This commit is contained in:
parent
fd252e7b25
commit
0dffd87191
@ -759,13 +759,17 @@ ata_set_desc(device_t dev)
|
||||
struct ata_chip_id *
|
||||
ata_match_chip(device_t dev, struct ata_chip_id *index)
|
||||
{
|
||||
uint32_t devid;
|
||||
uint8_t revid;
|
||||
|
||||
devid = pci_get_devid(dev);
|
||||
revid = pci_get_revid(dev);
|
||||
while (index->chipid != 0) {
|
||||
if (pci_get_devid(dev) == index->chipid &&
|
||||
pci_get_revid(dev) >= index->chiprev)
|
||||
return index;
|
||||
if (devid == index->chipid && revid >= index->chiprev)
|
||||
return (index);
|
||||
index++;
|
||||
}
|
||||
return NULL;
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
struct ata_chip_id *
|
||||
|
Loading…
Reference in New Issue
Block a user