aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-03-05 23:14:40 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-03-05 23:14:40 +0100
commit8204680c7b7efd7217a2606f57657988c74256aa (patch)
treee684e32369780990e19ea45228b8cf73133a054d /drivers
parentLinux 4.0-rc2 (diff)
parentx86/PCI/ACPI: Relax ACPI resource descriptor checks to work around BIOS bugs (diff)
downloadlinux-dev-8204680c7b7efd7217a2606f57657988c74256aa.tar.xz
linux-dev-8204680c7b7efd7217a2606f57657988c74256aa.zip
Merge branch 'acpi-resources'
* acpi-resources: x86/PCI/ACPI: Relax ACPI resource descriptor checks to work around BIOS bugs x86/PCI/ACPI: Ignore resources consumed by host bridge itself PCI: versatile: Update for list_for_each_entry() API change
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/resource.c4
-rw-r--r--drivers/pci/host/pci-versatile.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index c723668e3e27..5589a6e2a023 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -42,8 +42,10 @@ static bool acpi_dev_resource_len_valid(u64 start, u64 end, u64 len, bool io)
* CHECKME: len might be required to check versus a minimum
* length as well. 1 for io is fine, but for memory it does
* not make any sense at all.
+ * Note: some BIOSes report incorrect length for ACPI address space
+ * descriptor, so remove check of 'reslen == len' to avoid regression.
*/
- if (len && reslen && reslen == len && start <= end)
+ if (len && reslen && start <= end)
return true;
pr_debug("ACPI: invalid or unassigned resource %s [%016llx - %016llx] length [%016llx]\n",
diff --git a/drivers/pci/host/pci-versatile.c b/drivers/pci/host/pci-versatile.c
index 1ec694a52379..464bf492ee2a 100644
--- a/drivers/pci/host/pci-versatile.c
+++ b/drivers/pci/host/pci-versatile.c
@@ -80,7 +80,7 @@ static int versatile_pci_parse_request_of_pci_ranges(struct device *dev,
if (err)
return err;
- resource_list_for_each_entry(win, res, list) {
+ resource_list_for_each_entry(win, res) {
struct resource *parent, *res = win->res;
switch (resource_type(res)) {