2d5db0be4c
The acpi device callbacks add, start, remove, suspend and resume can never be called with a NULL acpi_device. Each callsite in acpi/scan.c has to dereference the device in order to get the ops structure, e.g. struct acpi_device *acpi_dev = to_acpi_device(dev); struct acpi_driver *acpi_drv = acpi_dev->driver; if (acpi_drv && acpi_drv->ops.suspend) return acpi_drv->ops.suspend(acpi_dev, state); Remove all checks for acpi_dev == NULL within these callbacks. Also remove the checks for acpi_driver_data(acpi_dev) == NULL. None of these checks could fail unless the driver does something strange (which none of them do), the acpi core did something terribly wrong, or we have a memory corruption issue. If this does happen then it's best to dereference the pointer and crash noisily. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Len Brown <len.brown@intel.com> |
||
---|---|---|
.. | ||
acer-wmi.c | ||
acerhdf.c | ||
asus_acpi.c | ||
asus-laptop.c | ||
compal-laptop.c | ||
dell-laptop.c | ||
dell-wmi.c | ||
eeepc-laptop.c | ||
fujitsu-laptop.c | ||
hp-wmi.c | ||
intel_menlow.c | ||
Kconfig | ||
Makefile | ||
msi-laptop.c | ||
panasonic-laptop.c | ||
sony-laptop.c | ||
tc1100-wmi.c | ||
thinkpad_acpi.c | ||
topstar-laptop.c | ||
toshiba_acpi.c | ||
wmi.c |