From e32c642d8f8cf41f7f4cfc0bd5f6eaab109f2c99 Mon Sep 17 00:00:00 2001 From: Alok N Kataria Date: Fri, 13 Jun 2008 12:54:24 -0400 Subject: [PATCH] --- yaml --- r: 101984 b: refs/heads/master c: 74523c901342a773ddd9f14c14539ec3d4197ecf h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/acpi/scan.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index c5ef04ddde51..e4313b41b751 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20b937343e55c16e37b1a4ad2176760b4a11002c +refs/heads/master: 74523c901342a773ddd9f14c14539ec3d4197ecf diff --git a/trunk/drivers/acpi/scan.c b/trunk/drivers/acpi/scan.c index 9a84ed250d9f..5b049cd79553 100644 --- a/trunk/drivers/acpi/scan.c +++ b/trunk/drivers/acpi/scan.c @@ -6,7 +6,8 @@ #include #include #include -#include +#include +#include #include #include /* for acpi_ex_eisa_id_to_string() */ @@ -154,6 +155,7 @@ acpi_eject_store(struct device *d, struct device_attribute *attr, acpi_status status; acpi_object_type type = 0; struct acpi_device *acpi_device = to_acpi_device(d); + struct task_struct *task; if ((!count) || (buf[0] != '1')) { return -EINVAL; @@ -171,9 +173,11 @@ acpi_eject_store(struct device *d, struct device_attribute *attr, } /* remove the device in another thread to fix the deadlock issue */ - ret = kernel_thread(acpi_bus_hot_remove_device, - acpi_device->handle, SIGCHLD); - err: + task = kthread_run(acpi_bus_hot_remove_device, + acpi_device->handle, "acpi_hot_remove_device"); + if (IS_ERR(task)) + ret = PTR_ERR(task); +err: return ret; }