summaryrefslogtreecommitdiff
path: root/sys/opencrypto
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2019-07-11 23:28:17 +0000
committerchristos <christos@NetBSD.org>2019-07-11 23:28:17 +0000
commitd8df10833e6602bdce51e5caa424e65195a8ae3d (patch)
treeffa186d6a508a38e5647d926e99f8ce7c727c734 /sys/opencrypto
parent3ef119af3d2913f72459e62bb66313074d7a435a (diff)
relinguish our lock while we are autoloading.
Diffstat (limited to 'sys/opencrypto')
-rw-r--r--sys/opencrypto/crypto.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/opencrypto/crypto.c b/sys/opencrypto/crypto.c
index 8c3f679242c..ef8396a93d4 100644
--- a/sys/opencrypto/crypto.c
+++ b/sys/opencrypto/crypto.c
@@ -1,4 +1,4 @@
-/* $NetBSD: crypto.c,v 1.107 2019/06/13 02:07:31 christos Exp $ */
+/* $NetBSD: crypto.c,v 1.108 2019/07/11 23:28:17 christos Exp $ */
/* $FreeBSD: src/sys/opencrypto/crypto.c,v 1.4.2.5 2003/02/26 00:14:05 sam Exp $ */
/* $OpenBSD: crypto.c,v 1.41 2002/07/17 23:52:38 art Exp $ */
@@ -53,7 +53,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: crypto.c,v 1.107 2019/06/13 02:07:31 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: crypto.c,v 1.108 2019/07/11 23:28:17 christos Exp $");
#include <sys/param.h>
#include <sys/reboot.h>
@@ -812,7 +812,9 @@ again:
}
if (best == NULL && hard == 0 && error == 0) {
+ mutex_exit(&crypto_drv_mtx);
error = module_autoload("swcrypto", MODULE_CLASS_DRIVER);
+ mutex_enter(&crypto_drv_mtx);
if (error == 0) {
error = EINVAL;
goto again;