summaryrefslogtreecommitdiffstatshomepage
path: root/src/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c
index 8b6d59b..943d6e8 100644
--- a/src/data.c
+++ b/src/data.c
@@ -234,7 +234,13 @@ static inline void queue_encrypt_reset(struct sk_buff_head *queue, struct noise_
static void begin_parallel_encryption(struct padata_priv *padata)
{
struct encryption_ctx *ctx = container_of(padata, struct encryption_ctx, padata);
+#if IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && defined(CONFIG_ARM)
+ local_bh_enable();
+#endif
queue_encrypt_reset(&ctx->queue, ctx->keypair);
+#if IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && defined(CONFIG_ARM)
+ local_bh_disable();
+#endif
padata_do_serial(padata);
}
@@ -362,7 +368,13 @@ static void finish_decrypt_packet(struct decryption_ctx *ctx)
static void begin_parallel_decryption(struct padata_priv *padata)
{
struct decryption_ctx *ctx = container_of(padata, struct decryption_ctx, padata);
+#if IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && defined(CONFIG_ARM)
+ local_bh_enable();
+#endif
begin_decrypt_packet(ctx);
+#if IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && defined(CONFIG_ARM)
+ local_bh_disable();
+#endif
padata_do_serial(padata);
}