aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/cryptd.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2012-11-21 14:31:52 -0500
committerThomas Gleixner <tglx@linutronix.de>2012-11-21 14:31:52 -0500
commit9c3f9e281697d02889c3b08922f3b30be75f56c2 (patch)
treee9f3d68e0019a47b982e2b8644f70eb66a3eff3c /crypto/cryptd.c
parentb8f61116c1ce342804a0897b0a80eb4df5f19453 (diff)
parentd6ad418763888f617ac5b4849823e4cd670df1dd (diff)
Merge branch 'fortglx/3.8/time' of git://git.linaro.org/people/jstultz/linux into timers/core
Fix trivial conflicts in: kernel/time/tick-sched.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'crypto/cryptd.c')
-rw-r--r--crypto/cryptd.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c
index 671d4d6d14df..7bdd61b867c8 100644
--- a/crypto/cryptd.c
+++ b/crypto/cryptd.c
@@ -137,13 +137,18 @@ static void cryptd_queue_worker(struct work_struct *work)
137 struct crypto_async_request *req, *backlog; 137 struct crypto_async_request *req, *backlog;
138 138
139 cpu_queue = container_of(work, struct cryptd_cpu_queue, work); 139 cpu_queue = container_of(work, struct cryptd_cpu_queue, work);
140 /* Only handle one request at a time to avoid hogging crypto 140 /*
141 * workqueue. preempt_disable/enable is used to prevent 141 * Only handle one request at a time to avoid hogging crypto workqueue.
142 * being preempted by cryptd_enqueue_request() */ 142 * preempt_disable/enable is used to prevent being preempted by
143 * cryptd_enqueue_request(). local_bh_disable/enable is used to prevent
144 * cryptd_enqueue_request() being accessed from software interrupts.
145 */
146 local_bh_disable();
143 preempt_disable(); 147 preempt_disable();
144 backlog = crypto_get_backlog(&cpu_queue->queue); 148 backlog = crypto_get_backlog(&cpu_queue->queue);
145 req = crypto_dequeue_request(&cpu_queue->queue); 149 req = crypto_dequeue_request(&cpu_queue->queue);
146 preempt_enable(); 150 preempt_enable();
151 local_bh_enable();
147 152
148 if (!req) 153 if (!req)
149 return; 154 return;