--- bus.c.orig 2006-07-25 07:36:01.000000000 +0400 +++ bus.c 2007-02-06 14:57:46.000000000 +0400 @@ -140,11 +140,23 @@ void __devinit pci_bus_add_devices(struc void pci_enable_bridges(struct pci_bus *bus) { struct pci_dev *dev; - int retval; + int retval, i; + u32 reg; list_for_each_entry(dev, &bus->devices, bus_list) { if (dev->subordinate) { retval = pci_enable_device(dev); +/* my debug */ + printk("%s: devfn=0x%04x, vendor=0x%02x, device=0x%02x, sub_vendor=0x%02x, sub_device=0x%02x\n", + __func__, dev->devfn, dev->vendor, dev->device, dev->subsystem_vendor, dev->subsystem_device); + printk("%s: cfg_size=0x%02x, irq=0x%02x, hdr_type=0x%02x, rom_base_reg=0x%02x, pin=0x%02x\n", + __func__, dev->cfg_size, dev->irq, dev->hdr_type, dev->rom_base_reg, dev->pin); + + for (i = 0; i < 9; i++) { + pci_read_config_dword(dev, i, ®); + printk("%s: i=0x%02x, Reg=0x%08x\n", __func__, i, reg); + } +/* my debug */ pci_set_master(dev); pci_enable_bridges(dev->subordinate); }