Re: [PATCH] pci: Workaround Stratus broken PCIE hierarchy

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

 



> Trying [v2]....
>
>
> pci: Workaround Stratus broken PCIE hierarchy
>
> Stratus systems have a hierarchy that includes a PCIE Downstream bridge
> connected to a PCIE Upstream bridge and a PCI Downstream bridge.  The
> system
> boots with this wrong hierarchy into a crippled mode (USB doesn't work,
> network doesn't work ...).  Avoiding the Downstream bridge check in
> only_one_child() causes all the bridges to be enumerated and the system
> to function properly.
>
> Unfortunately this hardware is currently available so we should at least
> keep it functional.
>
> [v2]
> - ddutile@xxxxxxxxxx requested drivers/pci/quirks.c code
> - matthew@xxxxxxx requested that dmi_name_in_vendors() be called only once
> with a static var check
> - added a kernel parameter to enable scanning of all PCIE devices.
>
> Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 6f45a73..f478bd5 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -3589,6 +3589,9 @@ static int __init pci_setup(char *str)
>  				pcie_bus_config = PCIE_BUS_PERFORMANCE;
>  			} else if (!strncmp(str, "pcie_bus_peer2peer", 18)) {
>  				pcie_bus_config = PCIE_BUS_PEER2PEER;
> +			} else if (!strncmp(str, "pcie_scan_all", 13)) {
> +				printk(KERN_ERR HW_ERR "PCIE: Scanning all devices.\n");
> +				pcie_scan_all = 1;
>  			} else {
>  				printk(KERN_ERR "PCI: Unknown option `%s'\n",
>  						str);

To scan all devices isn't an error, is it? The user has requested this, so
KERN_INFO should be enough.

Eike
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux