linux/drivers/acpi
Alex Chiang 49c6fb2e41 ACPI: dock: properly initialize local struct dock_station in dock_add()
Commit fe06fba2 (ACPI: dock: add struct dock_station * directly
to platform device data) changed dock_add() to use the
platform_device_register_data() API.

We passed that interface a stack variable, which is kmemdup'ed
and assigned to the device's platform_data pointer.

Unfortunately, whatever random garbage is in the stack variable
gets coped during the kmemdup, and that leads to broken behavior.

Explicitly zero out the structure before passing it to the API.

This fixes the T41 docking button issue:
http://bugzilla.kernel.org/show_bug.cgi?id=15000

Cc: stable@kernel.org
Reported-by: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2010-02-16 03:54:28 -05:00
..
acpica Merge branch 'acpica' into release 2009-12-15 22:27:39 -05:00
ac.c ACPI: add AC/DC notifier 2009-10-06 13:55:56 -04:00
acpi_memhotplug.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
acpi_pad.c Merge branch 'acpi-pad' into release 2010-01-20 01:14:30 -05:00
battery.c battery: fix typo in comment 2009-12-16 00:07:21 -05:00
blacklist.c ACPI: disable _OSI(Windows 2009) on Asus K50IJ 2009-12-22 02:39:24 -05:00
bus.c ACPI: Advertise to BIOS in _OSC: _OST on _PPC changes 2010-01-15 23:05:00 -05:00
button.c ACPI: Use the return result of ACPI lid notifier chain correctly 2009-12-16 01:12:35 -05:00
cm_sbs.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
container.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
debug.c ACPI: add kernel tainting after overriding an ACPI control method 2009-12-15 22:52:19 -05:00
dock.c ACPI: dock: properly initialize local struct dock_station in dock_add() 2010-02-16 03:54:28 -05:00
ec.c ACPI: EC: Add wait for irq storm 2010-01-15 22:53:04 -05:00
event.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
fan.c ACPI: Remove repeated registered as cooling_device messages 2009-12-16 00:07:10 -05:00
glue.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
hest.c PCI: PCIe AER: honor ACPI HEST FIRMWARE FIRST mode 2009-11-04 13:06:25 -08:00
internal.h ACPI: processor: call _PDC early 2009-12-22 03:24:08 -05:00
Kconfig ACPI: Kconfig, fix proc aggregator text 2009-10-09 13:14:51 -04:00
Makefile ACPI: processor: call _PDC early 2009-12-22 03:24:08 -05:00
numa.c Merge branch 'misc-2.6.33' into release 2009-12-16 14:22:32 -05:00
osl.c ACPI: add const to acpi_check_resource_conflict() 2009-12-09 14:44:42 -05:00
pci_bind.c ACPI: kill acpi_get_pci_id 2009-06-17 23:32:23 -04:00
pci_irq.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
pci_link.c acpi: make ACPI device id constant 2010-01-16 15:56:43 -05:00
pci_root.c acpi: make ACPI device id constant 2010-01-16 15:56:43 -05:00
pci_slot.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
power_meter.c ACPI: power_meter: remove double kfree() 2010-01-19 23:56:02 -05:00
power.c acpi: make ACPI device id constant 2010-01-16 15:56:43 -05:00
proc.c ACPI: clean up video.c boundary checks and types 2009-10-28 11:49:37 -04:00
processor_core.c ACPI: processor: change acpi_processor_set_pdc() interface 2009-12-22 03:33:58 -05:00
processor_idle.c ACPI: delete acpi_processor_power_verify_c2() 2010-01-20 00:54:15 -05:00
processor_pdc.c Merge branch 'bugzilla-14954' into release 2010-01-20 01:26:22 -05:00
processor_perflib.c Merge branch 'ost' into release 2009-12-16 02:18:36 -05:00
processor_thermal.c ACPI: Remove unnecessary cast. 2010-01-15 23:06:44 -05:00
processor_throttling.c ACPI: Move dereference after NULL test 2009-11-05 17:30:57 -05:00
reboot.c ACPI: reboot.c: use new acpi_reset interface 2008-12-31 01:15:00 -05:00
sbs.c ACPI: Fix unused variable warning in sbs.c 2010-01-16 16:04:18 -05:00
sbshc.c ACPI: SBS: Move SBS HC callback to faster Notify queue 2010-01-15 22:52:48 -05:00
sbshc.h ACPI: SBS: Ignore alarms coming from unknown devices 2007-12-14 15:14:06 -05:00
scan.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
sleep.c ACPI: introduce kernel parameter acpi_sleep=sci_force_enable 2009-12-30 18:32:01 -05:00
sleep.h ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00
system.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
tables.c ACPI: check acpi_disabled in acpi_table_parse() and acpi_table_parse_entries() 2009-08-28 19:57:28 -04:00
thermal.c acpi: thermal: display forced passive trip points in proc 2009-12-16 01:54:09 -05:00
utils.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
video_detect.c Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-12-09 19:57:06 -08:00
video.c Merge branch 'bugzilla-13577-video' into release 2010-01-20 01:14:41 -05:00
wakeup.c ACPI PM: Replace wakeup.prepared with reference counter 2009-09-09 14:19:18 -07:00