Skip to content

Commit

Permalink
ACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG
Browse files Browse the repository at this point in the history
device was set to null and used before set in a debug printk

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Dmitry Torokhov authored and Len Brown committed Oct 14, 2006
1 parent b4bd8c6 commit 786f18c
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions drivers/acpi/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,8 @@ static int acpi_power_off_device(acpi_handle handle)
{
int result = 0;
acpi_status status = AE_OK;
struct acpi_device *device = NULL;
struct acpi_power_resource *resource = NULL;


result = acpi_power_get_context(handle, &resource);
if (result)
return result;
Expand All @@ -230,13 +228,13 @@ static int acpi_power_off_device(acpi_handle handle)
if (resource->references) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Resource [%s] is still in use, dereferencing\n",
device->pnp.bus_id));
resource->device->pnp.bus_id));
return 0;
}

if (resource->state == ACPI_POWER_RESOURCE_STATE_OFF) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Resource [%s] already off\n",
device->pnp.bus_id));
resource->device->pnp.bus_id));
return 0;
}

Expand All @@ -251,8 +249,7 @@ static int acpi_power_off_device(acpi_handle handle)
return -ENOEXEC;

/* Update the power resource's _device_ power state */
device = resource->device;
device->power.state = ACPI_STATE_D3;
resource->device->power.state = ACPI_STATE_D3;

ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Resource [%s] turned off\n",
resource->name));
Expand Down

0 comments on commit 786f18c

Please sign in to comment.