if (ret == -EINPROGRESS || ret == -EBUSY) {
                struct tcrypt_result *tr = req->base.data;
 
-               ret = wait_for_completion_interruptible(&tr->completion);
-               if (!ret)
-                       ret = tr->err;
+               wait_for_completion(&tr->completion);
                reinit_completion(&tr->completion);
+               ret = tr->err;
        }
        return ret;
 }
        if (ret == -EINPROGRESS || ret == -EBUSY) {
                struct tcrypt_result *tr = req->base.data;
 
-               ret = wait_for_completion_interruptible(&tr->completion);
-               if (!ret)
-                       ret = tr->err;
+               wait_for_completion(&tr->completion);
                reinit_completion(&tr->completion);
+               ret = tr->err;
        }
 
        return ret;
 
 static int wait_async_op(struct tcrypt_result *tr, int ret)
 {
        if (ret == -EINPROGRESS || ret == -EBUSY) {
-               ret = wait_for_completion_interruptible(&tr->completion);
-               if (!ret)
-                       ret = tr->err;
+               wait_for_completion(&tr->completion);
                reinit_completion(&tr->completion);
+               ret = tr->err;
        }
        return ret;
 }
                        break;
                case -EINPROGRESS:
                case -EBUSY:
-                       ret = wait_for_completion_interruptible(
-                               &tresult.completion);
-                       if (!ret && !(ret = tresult.err)) {
-                               reinit_completion(&tresult.completion);
+                       wait_for_completion(&tresult.completion);
+                       reinit_completion(&tresult.completion);
+                       ret = tresult.err;
+                       if (!ret)
                                break;
-                       }
                        /* fall through */
                default:
                        printk(KERN_ERR "alg: hash: digest failed "
                        break;
                case -EINPROGRESS:
                case -EBUSY:
-                       ret = wait_for_completion_interruptible(
-                               &result.completion);
-                       if (!ret && !(ret = result.err)) {
-                               reinit_completion(&result.completion);
+                       wait_for_completion(&result.completion);
+                       reinit_completion(&result.completion);
+                       ret = result.err;
+                       if (!ret)
                                break;
-                       }
                case -EBADMSG:
                        if (template[i].novrfy)
                                /* verification failure was expected */
                        break;
                case -EINPROGRESS:
                case -EBUSY:
-                       ret = wait_for_completion_interruptible(
-                               &result.completion);
-                       if (!ret && !(ret = result.err)) {
-                               reinit_completion(&result.completion);
+                       wait_for_completion(&result.completion);
+                       reinit_completion(&result.completion);
+                       ret = result.err;
+                       if (!ret)
                                break;
-                       }
                case -EBADMSG:
                        if (template[i].novrfy)
                                /* verification failure was expected */
                        break;
                case -EINPROGRESS:
                case -EBUSY:
-                       ret = wait_for_completion_interruptible(
-                               &result.completion);
-                       if (!ret && !((ret = result.err))) {
-                               reinit_completion(&result.completion);
+                       wait_for_completion(&result.completion);
+                       reinit_completion(&result.completion);
+                       ret = result.err;
+                       if (!ret)
                                break;
-                       }
                        /* fall through */
                default:
                        pr_err("alg: skcipher%s: %s failed on test %d for %s: ret=%d\n",
                        break;
                case -EINPROGRESS:
                case -EBUSY:
-                       ret = wait_for_completion_interruptible(
-                                       &result.completion);
-                       if (!ret && !((ret = result.err))) {
-                               reinit_completion(&result.completion);
+                       wait_for_completion(&result.completion);
+                       reinit_completion(&result.completion);
+                       ret = result.err;
+                       if (!ret)
                                break;
-                       }
                        /* fall through */
                default:
                        pr_err("alg: skcipher%s: %s failed on chunk test %d for %s: ret=%d\n",