From: Len Brown Date: Thu, 23 Oct 2008 03:25:26 +0000 (-0400) Subject: Merge branch 'dock' into test X-Git-Tag: v2.6.28-rc1~26^2~20 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=47bf31adc541bef0c20de15e800e0011f1ae70c7;p=linux-2.6-omap-h63xx.git Merge branch 'dock' into test Conflicts: drivers/acpi/osl.c Signed-off-by: Len Brown --- 47bf31adc541bef0c20de15e800e0011f1ae70c7 diff --cc drivers/acpi/osl.c index 1420a9f69e5,750e0df1560..6234d3e7acd --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@@ -726,11 -743,19 +743,19 @@@ static acpi_status __acpi_os_execute(ac dpc->function = function; dpc->context = context; - INIT_WORK(&dpc->work, acpi_os_execute_deferred); - queue = (type == OSL_NOTIFY_HANDLER) ? kacpi_notify_wq : kacpid_wq; - if (!queue_work(queue, &dpc->work)) { + if (!hp) { + INIT_WORK(&dpc->work, acpi_os_execute_deferred); + queue = (type == OSL_NOTIFY_HANDLER) ? + kacpi_notify_wq : kacpid_wq; + ret = queue_work(queue, &dpc->work); + } else { + INIT_WORK(&dpc->work, acpi_os_execute_hp_deferred); + ret = schedule_work(&dpc->work); + } + + if (!ret) { - ACPI_DEBUG_PRINT((ACPI_DB_ERROR, - "Call to queue_work() failed.\n")); + printk(KERN_ERR PREFIX + "Call to queue_work() failed.\n"); status = AE_ERROR; kfree(dpc); }