diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c
index b21ef635f3521cbf41f61ff5ce7d01fd45902142..3e60ba909434ff666977ae98cda31af122b47d00 100644
--- a/drivers/crypto/mv_cesa.c
+++ b/drivers/crypto/mv_cesa.c
@@ -275,7 +275,9 @@ static void dequeue_complete_req(void)
 		sg_miter_stop(&cpg->p.dst_sg_it);
 		mv_crypto_algo_completion();
 		cpg->eng_st = ENGINE_IDLE;
+		local_bh_disable();
 		req->base.complete(&req->base, 0);
+		local_bh_enable();
 	}
 }