From b673efed4a10dc31567b1c29b140b7910daeaf95 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Wed, 7 Jul 2010 19:33:33 +0200 Subject: Public and private keys are being generated in a new workqueue. Some other fixes and optimizations. --- cryptodev_main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'cryptodev_main.c') diff --git a/cryptodev_main.c b/cryptodev_main.c index f99c71a..4cdb90d 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; -- cgit