From: Eric W. Biederman Use kthread_run to start the lcs kernel threads not a combination of kernel_thread and daemonize. This makes the code slightly simpler and more maintainable. Cc: Frank Pavlic Signed-off-by: Eric W. Biederman Cc: Heiko Carstens Cc: Martin Schwidefsky Signed-off-by: Andrew Morton --- drivers/s390/net/lcs.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff -puN drivers/s390/net/lcs.c~s390-net-lcs-convert-to-the-kthread-api drivers/s390/net/lcs.c --- a/drivers/s390/net/lcs.c~s390-net-lcs-convert-to-the-kthread-api +++ a/drivers/s390/net/lcs.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -1248,7 +1249,6 @@ lcs_register_mc_addresses(void *data) struct in_device *in4_dev; card = (struct lcs_card *) data; - daemonize("regipm"); if (!lcs_do_run_thread(card, LCS_SET_MC_THREAD)) return 0; @@ -1728,11 +1728,10 @@ lcs_start_kernel_thread(struct work_stru struct lcs_card *card = container_of(work, struct lcs_card, kernel_thread_starter); LCS_DBF_TEXT(5, trace, "krnthrd"); if (lcs_do_start_thread(card, LCS_RECOVERY_THREAD)) - kernel_thread(lcs_recovery, (void *) card, SIGCHLD); + kthread_run(lcs_recovery, card, "lcs_recover"); #ifdef CONFIG_IP_MULTICAST if (lcs_do_start_thread(card, LCS_SET_MC_THREAD)) - kernel_thread(lcs_register_mc_addresses, - (void *) card, SIGCHLD); + kernel_run(lcs_register_mc_addresses, card, "regipm"); #endif } @@ -2232,7 +2231,6 @@ lcs_recovery(void *ptr) int rc; card = (struct lcs_card *) ptr; - daemonize("lcs_recover"); LCS_DBF_TEXT(4, trace, "recover1"); if (!lcs_do_run_thread(card, LCS_RECOVERY_THREAD)) _