diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-03-01 10:41:37 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-18 13:22:35 +0100 |
commit | 8686fc3d2fb81fbcc91f873d7227069d21fc2fcf (patch) | |
tree | fb73a4b624ab70e871f4863acf71d4576f6c5735 /drivers | |
parent | 7f0240c5736ec77841f3cc3e0a91c2a8a1fa9357 (diff) | |
download | lwn-8686fc3d2fb81fbcc91f873d7227069d21fc2fcf.tar.gz lwn-8686fc3d2fb81fbcc91f873d7227069d21fc2fcf.zip |
ACPI / video: Load the module even if ACPI is disabled
commit 6e17cb12881ba8d5e456b89f072dc6b70048af36 upstream.
i915.ko depends upon the acpi/video.ko module and so refuses to load if
ACPI is disabled at runtime if for example the BIOS is broken beyond
repair. acpi/video provides an optional service for i915.ko and so we
should just allow the modules to load, but do no nothing in order to let
the machines boot correctly.
Reported-by: Bill Augur <bill-auger@programmer.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jani Nikula <jani.nikula@intel.com>
Acked-by: Aaron Lu <aaron.lu@intel.com>
[ rjw: Fixed up the new comment in acpi_video_init() ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/video.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 82a01cc45f9c..0dc9ff61d7c2 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -1953,6 +1953,17 @@ EXPORT_SYMBOL(acpi_video_unregister); static int __init acpi_video_init(void) { + /* + * Let the module load even if ACPI is disabled (e.g. due to + * a broken BIOS) so that i915.ko can still be loaded on such + * old systems without an AcpiOpRegion. + * + * acpi_video_register() will report -ENODEV later as well due + * to acpi_disabled when i915.ko tries to register itself afterwards. + */ + if (acpi_disabled) + return 0; + dmi_check_system(video_dmi_table); if (intel_opregion_present()) |