crypto: msm: qcrypto: Fix spinlock deadlock issue

Disable and then enable bottom half processing across completion callback.
Otherwise spinlock deadlock may happen.

Change-Id: I1d38a9b978d6a3b72c820fb8c5ccc27e7afc06a3
Acked-by: Che-Min Hsieh <cheminh@qti.qualcomm.com>
Signed-off-by: Kranthikumar Kurapati <kkurap@codeaurora.org>
This commit is contained in:
Kranthikumar Kurapati 2015-11-06 11:54:34 -05:00 committed by Gerrit - the friendly Code Review server
parent d72c72fba3
commit 68c54532fe
1 changed files with 2 additions and 0 deletions

View File

@ -1314,7 +1314,9 @@ again:
rev = llist_next(rev);
areq = arsp->async_req;
local_bh_disable();
areq->complete(areq, arsp->res);
local_bh_enable();
atomic_dec(&cp->resp_cnt);
if (ACCESS_ONCE(cp->ce_req_proc_sts) == STOPPED &&
atomic_read(&cp->resp_cnt) <=