linux/drivers/acpi
Andrey Borzenkov 1299342bac Fix Oops in toshiba_acpi error return path
When backlight_device_register() fails, return after undo initialization, do
not try to use pointer that just was reset to NULL

This fixes this oops:

[ 1595.177672]  [<c010480a>] show_trace_log_lvl+0x1a/0x30
[ 1595.177706]  [<c01052a2>] show_trace+0x12/0x20
[ 1595.177718]  [<c0105305>] dump_stack+0x15/0x20
[ 1595.177728]  [<c01c9375>] kobject_shadow_add+0x125/0x1c0
[ 1595.177754]  [<c01c941a>] kobject_add+0xa/0x10
[ 1595.177764]  [<c0239a37>] device_add+0x97/0x5d0
[ 1595.177776]  [<c0239f82>] device_register+0x12/0x20
[ 1595.177786]  [<dfd912df>] backlight_device_register+0x9f/0x110 [backlight]
[ 1595.177814]  [<df861117>] toshiba_acpi_init+0x117/0x15e [toshiba_acpi]
[ 1595.177834]  [<c013e28d>] sys_init_module+0xfd/0x14e0
[ 1595.177871]  [<c0104112>] sysenter_past_esp+0x5f/0x99
[ 1595.177883]  =======================
[ 1595.177890] Could not register toshiba backlight device
[ 1595.177985] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004
...
[ 1595.394097] EIP:    0060:[<df861143>]    Not tainted VLI
[ 1595.394101] EFLAGS: 00010282   (2.6.23-rc9-1avb #24)
[ 1595.480081] EIP is at toshiba_acpi_init+0x143/0x15e [toshiba_acpi]

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: John Belmonte <toshiba_acpi@memebeam.org>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-14 18:45:36 -08:00
..
dispatcher
events
executer
hardware
namespace
parser
resources
sleep Pull alexey-fixes into release branch 2007-10-29 17:30:21 -04:00
tables
utilities
ac.c
acpi_memhotplug.c
asus_acpi.c
battery.c ACPI: Battery: remove cycle from battery removal. 2007-11-13 09:02:18 -08:00
bay.c
blacklist.c
bus.c ACPI: Fan: Drop force_power_state acpi_device option 2007-10-25 16:31:31 -04:00
button.c ACPI: button: send initial lid state after add and resume 2007-10-25 16:31:30 -04:00
cm_sbs.c
container.c
debug.c
dock.c
ec.c ACPI: EC: fix use-after-free 2007-10-25 16:38:02 -04:00
event.c
fan.c ACPI: Fan: Drop force_power_state acpi_device option 2007-10-25 16:31:31 -04:00
glue.c
Kconfig ACPI: add documentation for deprecated /proc/acpi/battery in ACPI_PROCFS 2007-11-10 14:28:16 -08:00
Makefile
numa.c
osl.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2007-10-19 13:12:46 -07:00
pci_bind.c
pci_irq.c
pci_link.c
pci_root.c
power.c ACPI: power: don't cache power resource state 2007-10-25 16:31:31 -04:00
processor_core.c Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 2007-10-19 15:06:00 -07:00
processor_idle.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2007-10-19 13:12:46 -07:00
processor_perflib.c
processor_thermal.c
processor_throttling.c
sbs.c
sbshc.c
sbshc.h
scan.c
system.c
tables.c
thermal.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2007-10-19 13:12:46 -07:00
toshiba_acpi.c Fix Oops in toshiba_acpi error return path 2007-11-14 18:45:36 -08:00
utils.c
video.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2007-10-19 13:12:46 -07:00