From af539e985b3fbe3b602313f317506a2a9e73f5bf Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Tue, 21 Apr 2015 14:57:45 -0500 Subject: MAINTAINERS: Remove Mohit Kumar (email bounces) Email to Mohit Kumar has been bouncing, so remove the address from MAINTAINERS and add an entry in CREDITS. Signed-off-by: Bjorn Helgaas --- CREDITS | 4 ++++ MAINTAINERS | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CREDITS b/CREDITS index 843e176..6bb0d51 100644 --- a/CREDITS +++ b/CREDITS @@ -2045,6 +2045,10 @@ D: pirq addr, CS5535 alsa audio driver S: Gurgaon, India S: Kuala Lumpur, Malaysia +N: Mohit Kumar +D: ST Microelectronics SPEAr13xx PCI host bridge driver +D: Synopsys Designware PCI host bridge driver + N: Gabor Kuti M: seasons@falcon.sch.bme.hu M: seasons@makosteszta.sote.hu diff --git a/MAINTAINERS b/MAINTAINERS index a123c39..1c95b70 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7490,7 +7490,6 @@ S: Maintained F: drivers/pci/host/pci-exynos.c PCI DRIVER FOR SYNOPSIS DESIGNWARE -M: Mohit Kumar M: Jingoo Han L: linux-pci@vger.kernel.org S: Maintained @@ -7505,9 +7504,8 @@ F: Documentation/devicetree/bindings/pci/host-generic-pci.txt F: drivers/pci/host/pci-host-generic.c PCIE DRIVER FOR ST SPEAR13XX -M: Mohit Kumar L: linux-pci@vger.kernel.org -S: Maintained +S: Orphan F: drivers/pci/host/*spear* PCMCIA SUBSYSTEM -- cgit v1.1 From 9fbbda5c8e0ab9c391e4160a0eb3a06260f9f668 Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Tue, 21 Apr 2015 14:57:26 -0500 Subject: ia64/PCI: Treat all host bridge Address Space Descriptors (even consumers) as windows Prior to c770cb4cb505 ("PCI: Mark invalid BARs as unassigned"), if we tried to claim a PCI BAR but could not find an upstream bridge window that matched it, we complained but still allowed the device to be enabled. c770cb4cb505 broke devices that previously worked (mptsas and igb in the case Tony reported, but it could be any devices) because it marks those BARs as IORESOURCE_UNSET, which makes pci_enable_device() complain and return failure: igb 0000:81:00.0: can't enable device: BAR 0 [mem size 0x00020000] not assigned igb: probe of 0000:81:00.0 failed with error -22 The underlying cause is an ACPI Address Space Descriptor for a PCI host bridge window that is marked as "consumer". This is a firmware defect: resources that are produced on the downstream side of a bridge should be marked "producer". But rejecting these BARs that we previously allowed is a functionality regression, and firmware has not used the producer/consumer bit consistently, so we can't rely on it anyway. Stop checking the producer/consumer bit, and assume all bridge Address Space Descriptors are for bridge windows. Note that this change does not affect I/O Port or Fixed Location I/O Port Descriptors, which are commonly used for the [io 0x0cf8-0x0cff] config access range. That range is a "consumer" range and should not be treated as a window. Fixes: c770cb4cb505 ("PCI: Mark invalid BARs as unassigned") Link: https://bugzilla.kernel.org/show_bug.cgi?id=96961 Reported-and-tested-by: Tony Luck Signed-off-by: Bjorn Helgaas Acked-by: Rafael J. Wysocki --- arch/ia64/pci/pci.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 48cc657..d4e162d 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c @@ -240,15 +240,12 @@ static acpi_status resource_to_window(struct acpi_resource *resource, * We're only interested in _CRS descriptors that are * - address space descriptors for memory or I/O space * - non-zero size - * - producers, i.e., the address space is routed downstream, - * not consumed by the bridge itself */ status = acpi_resource_to_address64(resource, addr); if (ACPI_SUCCESS(status) && (addr->resource_type == ACPI_MEMORY_RANGE || addr->resource_type == ACPI_IO_RANGE) && - addr->address.address_length && - addr->producer_consumer == ACPI_PRODUCER) + addr->address.address_length) return AE_OK; return AE_ERROR; -- cgit v1.1