From cd985d3c7d11af79eae9d70ca00261589bb359b1 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Mon, 28 Jun 2010 09:30:45 +0800 Subject: [PATCH] --- yaml --- r: 202453 b: refs/heads/master c: 1492616a434dae1908d0da2d6ee6605ca5a77e6f h: refs/heads/master i: 202451: f38de760571cba6f935854a7a2751d814ada13f0 v: v3 --- [refs] | 2 +- trunk/drivers/platform/x86/wmi.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index efc5520f6694..4d83294ace00 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d5164dbf1f651d1e955b158fb70a9c844cc91cd1 +refs/heads/master: 1492616a434dae1908d0da2d6ee6605ca5a77e6f diff --git a/trunk/drivers/platform/x86/wmi.c b/trunk/drivers/platform/x86/wmi.c index 582b5cdd3f43..6c15720be6a4 100644 --- a/trunk/drivers/platform/x86/wmi.c +++ b/trunk/drivers/platform/x86/wmi.c @@ -518,8 +518,13 @@ static void wmi_notify_debug(u32 value, void *context) { struct acpi_buffer response = { ACPI_ALLOCATE_BUFFER, NULL }; union acpi_object *obj; + acpi_status status; - wmi_get_event_data(value, &response); + status = wmi_get_event_data(value, &response); + if (status != AE_OK) { + printk(KERN_INFO "wmi: bad event status 0x%x\n", status); + return; + } obj = (union acpi_object *)response.pointer; @@ -543,6 +548,7 @@ static void wmi_notify_debug(u32 value, void *context) default: printk("object type 0x%X\n", obj->type); } + kfree(obj); } /**