]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / init: Fix the ordering of acpi_reserve_resources()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 7 May 2015 19:19:39 +0000 (21:19 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 7 May 2015 19:19:39 +0000 (21:19 +0200)
commitecf2a6e7dc98195f8ba66b6e91e4903d12be47cf
tree0986033a34d66189490eb17821ec6f52f4e0dd83
parent194b7115c289879d9d371e5ad3e7d18c3489ecbf
ACPI / init: Fix the ordering of acpi_reserve_resources()

Since acpi_reserve_resources() is defined as a device_initcall(),
there's no guarantee that it will be executed in the right order
with respect to the rest of the ACPI initialization code.  On some
systems this leads to breakage if, for example, the address range
that should be reserved for the ACPI fixed registers is given to
the PCI host bridge instead if the race is won by the wrong code
path.

Fix this by turning acpi_reserve_resources() into a void function
and calling it directly from within the ACPI initialization sequence.

Reported-and-tested-by: George McCollister <george.mccollister@gmail.com>
Link: http://marc.info/?t=143092384600002&r=1&w=2
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/osl.c