I fixed this problem by adding a delay of 1 second at the beginning of the function pci_do_scan_bus(struct pci_bus *bus) in drivers/pci/probe.c.
I added these lines:
----------------------------------------------------------------
int wait1,wait2,dummy;
dummy=0; printk("PCI-Gam: Wait 1 second\n");
for (wait1=0;wait1!=1000000;wait1++)
for (wait2=0;wait2!=6000;wait2++) dummy = 123456-dummy; printk("PCI-Gam: Start scanning bus\n");
-----------------------------------------------------------------
Now when the PCI driver scans the root bus (after the small delay), it finds the three USB hubs correctly.
I fixed this problem by adding a delay of 1 second at the beginning of the function pci_do_ scan_bus( struct pci_bus *bus) in drivers/ pci/probe. c.
I added these lines: ------- ------- ------- ------- ------- ------- ------- ------- -
printk( "PCI-Gam: Wait 1 second\n"); 0;wait1! =1000000; wait1++ ) 0;wait2! =6000;wait2+ +)
dummy = 123456-dummy;
printk( "PCI-Gam: Start scanning bus\n"); ------- ------- ------- ------- ------- ------- ------- ------- --
-------
int wait1,wait2,dummy;
dummy=0;
for (wait1=
for (wait2=
-------
Now when the PCI driver scans the root bus (after the small delay), it finds the three USB hubs correctly.
At last I can use my keyboard !