Replacing the use of kernel_thread() with kthread_run(). But as kthread_run() returned a task structure, as compared with kernel_thread() returning a PID, it was found to be more efficient to store the task structure pointer as a field data instead of PID pointer. On top of modifying the field to store task structure pointer, the initialization of the field (assigned to THREAD_PID_INIT_VALUE) was also found unnecessary - as no where it is found to be used. The patch (to be applied against linus git tree v2.6.29-rc8-241-g65c2449) attached compiled and loaded successfully - but not with the hardware, as I don't have it. Thanks. PS: attached passed checkpatch.pl. Thanks.