|
|
@@ -306,7 +306,7 @@ static int lockd_start_svc(struct svc_serv *serv)
|
|
|
svc_sock_update_bufs(serv);
|
|
|
serv->sv_maxconn = nlm_max_connections;
|
|
|
|
|
|
- nlmsvc_task = kthread_run(lockd, nlmsvc_rqst, "%s", serv->sv_name);
|
|
|
+ nlmsvc_task = kthread_create(lockd, nlmsvc_rqst, "%s", serv->sv_name);
|
|
|
if (IS_ERR(nlmsvc_task)) {
|
|
|
error = PTR_ERR(nlmsvc_task);
|
|
|
printk(KERN_WARNING
|
|
|
@@ -314,6 +314,7 @@ static int lockd_start_svc(struct svc_serv *serv)
|
|
|
goto out_task;
|
|
|
}
|
|
|
nlmsvc_rqst->rq_task = nlmsvc_task;
|
|
|
+ wake_up_process(nlmsvc_task);
|
|
|
|
|
|
dprintk("lockd_up: service started\n");
|
|
|
return 0;
|