Messages in this thread | | | Date | Mon, 13 Feb 2006 17:13:21 -0800 (PST) | Subject | PCI probe leaves master abort disabled in PCI_BRIDGE_CONTROL | From | "David S. Miller" <> |
| |
In drivers/pci/probe.c:pci_scan_bridge(), if this is not the first pass (pass != 0) we don't restore the PCI_BRIDGE_CONTROL_REGISTER and thus leave PCI_BRIDGE_CTL_MASTER_ABORT off:
int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass) { ... /* Disable MasterAbortMode during probing to avoid reporting of bus errors (in some architectures) */ pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &bctl); pci_write_config_word(dev, PCI_BRIDGE_CONTROL, bctl & ~PCI_BRIDGE_CTL_MASTER_ABORT); ... if ((buses & 0xffff00) && !pcibios_assign_all_busses() && !is_cardbus) { unsigned int cmax, busnr; /* * Bus already configured by firmware, process it in the first * pass and just note the configuration. */ if (pass) return max; ... }
pci_write_config_word(dev, PCI_BRIDGE_CONTROL, bctl); ...
This doesn't seem intentional. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |