On Sun, Feb 17, 2019 at 09:42:52PM -0300, Marcos Paulo de Souza wrote: > - if (!wait_for_completion_timeout(&request->done, 30 * HZ)) { > + if (!wait_for_completion_interruptible_timeout(&request->done, > + 30 * HZ)) { > retval = -ETIMEDOUT; > goto out; > } Now this function can succeed or fail because of ETIMEDOUT or an interrupt. I think you should return -EINTR or maybe -ESYSRESTART if interrupted.