diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2009-08-31 18:32:15 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-09-19 02:15:05 -0400 |
commit | 59fc9e5e21baf2bf5c87d8006e006007c3a708c2 (patch) | |
tree | 358619eee9602d0b9cd9875d6d68fc49a5454f3c /drivers/acpi/osl.c | |
parent | 9ac6185669d0d277c4082fa92ba8eb2e55534cbf (diff) |
ACPI: remove null pointer checks in deferred execution path
Better to oops and learn about a bug than to silently cover it up.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r-- | drivers/acpi/osl.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index d753206f0734..56071b67bed5 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -699,18 +699,12 @@ void acpi_os_derive_pci_id(acpi_handle rhandle, /* upper bound */ | |||
699 | static void acpi_os_execute_deferred(struct work_struct *work) | 699 | static void acpi_os_execute_deferred(struct work_struct *work) |
700 | { | 700 | { |
701 | struct acpi_os_dpc *dpc = container_of(work, struct acpi_os_dpc, work); | 701 | struct acpi_os_dpc *dpc = container_of(work, struct acpi_os_dpc, work); |
702 | if (!dpc) { | ||
703 | printk(KERN_ERR PREFIX "Invalid (NULL) context\n"); | ||
704 | return; | ||
705 | } | ||
706 | 702 | ||
707 | if (dpc->wait) | 703 | if (dpc->wait) |
708 | acpi_os_wait_events_complete(NULL); | 704 | acpi_os_wait_events_complete(NULL); |
709 | 705 | ||
710 | dpc->function(dpc->context); | 706 | dpc->function(dpc->context); |
711 | kfree(dpc); | 707 | kfree(dpc); |
712 | |||
713 | return; | ||
714 | } | 708 | } |
715 | 709 | ||
716 | /******************************************************************************* | 710 | /******************************************************************************* |
@@ -739,9 +733,6 @@ static acpi_status __acpi_os_execute(acpi_execute_type type, | |||
739 | "Scheduling function [%p(%p)] for deferred execution.\n", | 733 | "Scheduling function [%p(%p)] for deferred execution.\n", |
740 | function, context)); | 734 | function, context)); |
741 | 735 | ||
742 | if (!function) | ||
743 | return AE_BAD_PARAMETER; | ||
744 | |||
745 | /* | 736 | /* |
746 | * Allocate/initialize DPC structure. Note that this memory will be | 737 | * Allocate/initialize DPC structure. Note that this memory will be |
747 | * freed by the callee. The kernel handles the work_struct list in a | 738 | * freed by the callee. The kernel handles the work_struct list in a |