Newbie Grp I am working on a Block driver. I have a big protocol to be implemented in the initialization of the driver which will be used by the driver at a later point of time to read/write to the devices. This takes up good time. So, I used schedule_work( ) to schedule a task through kernel queue and execute it at a later point of time. I think this should obviously give control to the USER terminal by scheduling the work to execute at a later point of time. But, the results are the same & I find no difference in terminal occupation. It is same as the version of driver without schedulke_work () usage. Do I have any misconceptions regarding the working of schedulke_work ()? Does someone have an idea about why does this happen. Do I have Regards, Mukund Jampala -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/