Re: PCI probe leaves master abort disabled in PCI_BRIDGE_CONTROL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 13, 2006 at 05:13:21PM -0800, David S. Miller wrote:
> 
> 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.

No it doesn't.  Ralf added that code, way back in 2.6.2-rc2, with a
patch description of "[PATCH] PCI: fix probing for some mips systems"

David, does this break some stuff on your boxes?

Ralf, any thoughts?  It was way back in January of 2004 that this change
went in.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux