ACPI / resources: only reject zero length resources based at address zero
authorAndy Whitcroft <[email protected]>
Thu, 19 Jun 2014 10:19:16 +0000 (11:19 +0100)
committerRafael J. Wysocki <[email protected]>
Mon, 7 Jul 2014 20:11:09 +0000 (22:11 +0200)
commit867f9d463b82462793ea4610e748be0b04b37fc7
treed27803622cfaf7145ba25fcc548b0b075f5bf25a
parentcd3de83f147601356395b57a8673e9c5ff1e59d1
ACPI / resources: only reject zero length resources based at address zero

The recently merged change (in v3.14-rc6) to ACPI resource detection
(below) causes all zero length ACPI resources to be elided from the
table:

  commit b355cee88e3b1a193f0e9a81db810f6f83ad728b
  Author: Zhang Rui <[email protected]>
  Date:   Thu Feb 27 11:37:15 2014 +0800

    ACPI / resources: ignore invalid ACPI device resources

This change has caused a regression in (at least) serial port detection
for a number of machines (see LP#1313981 [1]).  These seem to represent
their IO regions (presumably incorrectly) as a zero length region.
Reverting the above commit restores these serial devices.

Only elide zero length resources which lie at address 0.

Fixes: b355cee88e3b (ACPI / resources: ignore invalid ACPI device resources)
Signed-off-by: Andy Whitcroft <[email protected]>
Acked-by: Zhang Rui <[email protected]>
Cc: 3.14+ <[email protected]> # 3.14+
Signed-off-by: Rafael J. Wysocki <[email protected]>
drivers/acpi/resource.c