In my driver, I am using DECLARE_WAIT_QUEUE_HEAD to create a wait queue and static DECLARE_WORK(io_work, io_read); to declare work queue.
Now, If ERESTARTSYS error occurs while waiting for a condition to get fulfilled, the wait gets over and returns with an error. At that point i am clearing all the variable. I want to reset the work queue also. Is there any function to do that else, how can I do that.