/* Exceptions for specific devices. Usually work-arounds for fatal design flaws.  */
static void __devinit pci_fixup_i450nx(struct pci_dev *d)
/* Exceptions for specific devices. Usually work-arounds for fatal design flaws.  */
static void __devinit pci_fixup_i450nx(struct pci_dev *d)
{
	int pxb, reg;
	u8 busno, suba, subb;
	dev_warn(&d->dev, "Searching for i450NX host bridges\n");
	reg = 0xd0;
	for(pxb = 0; pxb < 2; pxb++) {
		pci_read_config_byte(d, reg++, &busno);
		pci_read_config_byte(d, reg++, &suba);
		pci_read_config_byte(d, reg++, &subb);
		dev_dbg(&d->dev, "i450NX PXB %d: %02x/%02x/%02x\n", pxb, busno,
			suba, subb);
		if (busno)
			pci_scan_bus_with_sysdata(busno);
		if (suba < subb)
			pci_scan_bus_with_sysdata(suba+1);
	}
	pcibios_last_bus = -1;
}