[PATCH 8/9] staging: brcm80211: remove kernel_thread() for wl_iscan_thread.
Jason Cooper
jason at lakedaemon.net
Wed Oct 6 21:40:12 UTC 2010
Signed-off-by: Jason Cooper <jason at lakedaemon.net>
---
drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
index ac09fd6..5ee2c86 100644
--- a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
+++ b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
@@ -2969,14 +2969,16 @@ static void wl_iscan_timer(unsigned long data)
static int32 wl_invoke_iscan(struct wl_priv *wl)
{
struct wl_iscan_ctrl *iscan = wl_to_iscan(wl);
+ struct task_struct *tsk;
int err = 0;
if (wl->iscan_on && iscan->pid < 0) {
iscan->state = WL_ISCAN_STATE_IDLE;
sema_init(&iscan->sync, 0);
init_completion(&iscan->exited);
- iscan->pid = kernel_thread(wl_iscan_thread, iscan, 0);
- if (unlikely(iscan->pid < 0)) {
+ tsk = kthread_run(wl_iscan_thread, iscan, "wl_iscan");
+ iscan->pid = (long)get_pid(task_pid(tsk));
+ if (IS_ERR(tsk)) {
WL_ERR(("Could not create iscan thread\n"));
return -ENOMEM;
}
--
1.6.3.3
More information about the devel
mailing list