Rafael J. Wysocki
8c9b7a7b2f
ACPI / video: Do not bind to device objects with a scan handler
...
With the introduction of ACPI scan handlers, ACPI device objects
with an ACPI scan handler attached to them must not be bound to
by ACPI drivers any more. Unfortunately, however, the ACPI video
driver attempts to do just that if there is a _ROM ACPI control
method defined under a device object with an ACPI scan handler.
Prevent that from happening by making the video driver's "add"
routine check if the device object already has an ACPI scan handler
attached to it and return an error code in that case.
That is not sufficient, though, because acpi_bus_driver_init() would
then clear the device object's driver_data that may be set by its
scan handler, so for the fix to work acpi_bus_driver_init() has to be
modified to leave driver_data as is on errors.
References: https://bugzilla.kernel.org/show_bug.cgi?id=58091
Bisected-and-tested-by: Dmitry S. Demin <dmitryy.demin@gmail.com>
Reported-and-tested-by: Jason Cassell <bluesloth600@gmail.com>
Tracked-down-by: Aaron Lu <aaron.lu@intel.com>
Cc: 3.9+ <stable@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Aaron Lu <aaron.lu@intel.com>
2013-06-10 13:00:29 +02:00
..
acpica
ACPICA: ACPICA: Fix for _INI regression
2013-05-08 15:31:53 +02:00
apei
Merge branch 'acpi-fixes'
2013-06-07 12:35:23 +02:00
ac.c
ACPI / AC: Add sleep quirk for Thinkpad e530
2013-05-12 14:03:15 +02:00
acpi_i2c.c
ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices()
2013-04-02 15:30:41 +02:00
acpi_ipmi.c
acpi_lpss.c
ACPI / LPSS: register clock device for Lynxpoint DMA properly
2013-05-14 10:23:58 +05:30
acpi_memhotplug.c
ACPI / memhotplug: Remove info->failed bit
2013-03-25 00:36:25 +01:00
acpi_pad.c
ACPI / acpi_pad: Used PTR_RET
2013-03-25 00:13:15 +01:00
acpi_platform.c
ACPI / scan: Add special handler for Intel Lynxpoint LPSS devices
2013-03-21 22:44:38 +01:00
battery.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-05-01 17:51:54 -07:00
bgrt.c
blacklist.c
bus.c
ACPI: replace kmalloc+memcpy with kmemdup
2013-03-24 23:31:33 +01:00
button.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-05-01 17:51:54 -07:00
cm_sbs.c
container.c
Merge branch 'acpi-assorted'
2013-04-28 01:54:08 +02:00
custom_method.c
The sweeping change is to make add_taint() explicitly indicate whether to disable
2013-02-25 15:41:43 -08:00
debugfs.c
device_pm.c
ACPI / PM: Do not execute _PS0 for devices without _PSC during initialization
2013-06-07 12:33:57 +02:00
dock.c
ACPI / hotplug: Fix concurrency issues and memory leaks
2013-02-13 14:36:47 +01:00
ec.c
ACPI / EC: Restart transaction even when the IBF flag set
2013-05-12 14:03:15 +02:00
ec_sys.c
event.c
fan.c
ACPI / fan: avoid null pointer deference error
2013-03-25 23:01:00 +01:00
glue.c
ACPI / glue: Drop .find_bridge() callback from struct acpi_bus_type
2013-03-04 14:23:40 +01:00
hed.c
ACPI: Remove useless type argument of driver .remove() operation
2013-01-26 00:37:24 +01:00
internal.h
dma: acpi-dma: parse CSRT to extract additional resources
2013-05-14 10:23:57 +05:30
Kconfig
Merge branch 'acpi-assorted'
2013-04-28 01:54:08 +02:00
Makefile
Power management and ACPI fixes for 3.10-rc3
2013-05-25 20:32:00 -07:00
numa.c
x86, ACPI, mm: Revert movablemem_map support
2013-03-02 09:34:39 -08:00
nvs.c
osl.c
ACPI: Fix wrong parameter passed to memblock_reserve
2013-04-24 13:50:17 +02:00
pci_irq.c
PCI/ACPI: Don't cache _PRT, and don't associate them with bus numbers
2013-02-16 11:58:34 -07:00
pci_link.c
ACPI: Set length even for TYPE_END_TAG acpi resource
2013-03-24 01:00:38 +01:00
pci_root.c
PCI: acpiphp: Re-enumerate devices when host bridge receives Bus Check
2013-05-17 14:12:06 -06:00
pci_slot.c
PCI/ACPI: Handle PCI slot devices when creating/destroying PCI buses
2013-04-12 15:38:25 -06:00
power.c
Merge branch 'acpi-pm'
2013-04-28 01:54:00 +02:00
proc.c
procfs: new helper - PDE_DATA(inode)
2013-04-09 14:13:32 -04:00
processor_core.c
ACPI / processor: Remove redundant NULL check before kfree
2013-03-04 14:23:39 +01:00
processor_driver.c
ACPI / PM: Move processor suspend/resume to syscore_ops
2013-05-12 14:03:14 +02:00
processor_idle.c
ACPI / PM: Move processor suspend/resume to syscore_ops
2013-05-12 14:03:14 +02:00
processor_perflib.c
acpi: Export the acpi_processor_get_performance_info
2013-03-06 10:00:34 -05:00
processor_thermal.c
ACPI / processor_thermal: avoid null pointer deference error
2013-03-25 23:01:01 +01:00
processor_throttling.c
ACPI: suppress compiler warnings in processor_throttling.c
2013-03-25 00:05:48 +01:00
reboot.c
resource.c
sbs.c
proc: Supply a function to remove a proc entry by PDE
2013-05-01 17:29:46 -04:00
sbshc.c
ACPI: Remove useless type argument of driver .remove() operation
2013-01-26 00:37:24 +01:00
sbshc.h
scan.c
ACPI / video: Do not bind to device objects with a scan handler
2013-06-10 13:00:29 +02:00
sleep.c
ACPI / PM: fix suspend and resume on Sony Vaio VGN-FW21M
2013-03-27 00:04:53 +01:00
sleep.h
sysfs.c
ACPI / hotplug: Make acpi_hotplug_profile_ktype static
2013-03-19 00:16:15 +01:00
tables.c
thermal.c
ACPI / thermal: do not always return THERMAL_TREND_RAISING for active trip points
2013-04-26 13:34:40 +02:00
utils.c
video.c
ACPI / video: Do not bind to device objects with a scan handler
2013-06-10 13:00:29 +02:00
video_detect.c
ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist
2013-05-23 01:41:45 +02:00
wakeup.c