Hi, In that file, since v1.44, lock is add in pci_conf_read() and pci_conf_write() to protect the r/w action in SMP condition.
But I think the protection is not strong enough! You should disable IRQ totally! In my project, it is not smp, and when booting, if the local network load is HIGH, the NIC card(RTL8111B) will not be recognized. This is because the front end of the NIC driver call pci_conf_read() to get the device's type. If pci_conf_read() is interrupted by some irq, the result maybe wrong. Would you please refer to Linux kernel code? Linux use irq_save/irq_restore to protect the pci_config_{read,write} funtion. Best regards! goodmen at Beijing, China.