summaryrefslogtreecommitdiffstats
path: root/cryptodev_main.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-07 19:33:33 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-07 19:33:33 +0200
commitb673efed4a10dc31567b1c29b140b7910daeaf95 (patch)
tree9dbd383a19543719bf6f3e25b7c3259aa1f461f6 /cryptodev_main.c
parent4334f22638344873c4361f663be9d3dcad2b6bc4 (diff)
downloadkernel-crypto-b673efed4a10dc31567b1c29b140b7910daeaf95.tar.gz
kernel-crypto-b673efed4a10dc31567b1c29b140b7910daeaf95.tar.xz
kernel-crypto-b673efed4a10dc31567b1c29b140b7910daeaf95.zip
Public and private keys are being generated in a new workqueue. Some other fixes and optimizations.
Diffstat (limited to 'cryptodev_main.c')
-rw-r--r--cryptodev_main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/cryptodev_main.c b/cryptodev_main.c
index f99c71a305f..4cdb90dfdc4 100644
--- a/cryptodev_main.c
+++ b/cryptodev_main.c
@@ -780,10 +780,18 @@ cryptodev_register(void)
ncr_limits_init();
ncr_master_key_reset();
+
+ rc = ncr_pk_queue_init();
+ if (unlikely(rc)) {
+ ncr_limits_deinit();
+ printk(KERN_ERR PFX "initialization of PK workqueue failed\n");
+ return rc;
+ }
rc = misc_register (&cryptodev);
if (unlikely(rc)) {
ncr_limits_deinit();
+ ncr_pk_queue_deinit();
printk(KERN_ERR PFX "registration of /dev/crypto failed\n");
return rc;
}
@@ -796,10 +804,10 @@ cryptodev_deregister(void)
{
misc_deregister(&cryptodev);
ncr_limits_deinit();
+ ncr_pk_queue_deinit();
}
/* ====== Module init/exit ====== */
-
int __init init_cryptodev(void)
{
int rc;