PCI: pciehp: Prevent deadlock on disconnect
[platform/kernel/linux-rpi.git] / crypto / af_alg.c
index 879cf23..3d8e530 100644 (file)
@@ -134,11 +134,13 @@ void af_alg_release_parent(struct sock *sk)
        sk = ask->parent;
        ask = alg_sk(sk);
 
-       lock_sock(sk);
+       local_bh_disable();
+       bh_lock_sock(sk);
        ask->nokey_refcnt -= nokey;
        if (!last)
                last = !--ask->refcnt;
-       release_sock(sk);
+       bh_unlock_sock(sk);
+       local_bh_enable();
 
        if (last)
                sock_put(sk);
@@ -1043,7 +1045,7 @@ void af_alg_async_cb(struct crypto_async_request *_req, int err)
        af_alg_free_resources(areq);
        sock_put(sk);
 
-       iocb->ki_complete(iocb, err ? err : resultlen, 0);
+       iocb->ki_complete(iocb, err ? err : (int)resultlen, 0);
 }
 EXPORT_SYMBOL_GPL(af_alg_async_cb);