summaryrefslogtreecommitdiff
path: root/drivers/crypto/marvell/tdma.c
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-12-14 22:59:02 -0500
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-12-14 22:59:02 -0500
commit7b5d49941dedf1b6634c2b0a110dc2a6f12180c3 (patch)
tree0be6ff4b2a5933898f7fc639746112ca0b7fefc6 /drivers/crypto/marvell/tdma.c
parent1dcf2103d80a19dc9562e63eb2fb0084e362c3f1 (diff)
parent8743ce3d7c9698285310920c443c086e337aef44 (diff)
downloadlinux-rt-7b5d49941dedf1b6634c2b0a110dc2a6f12180c3.tar.gz
Merge tag 'v4.9.66' into v4.9-rt
This is the 4.9.66 stable release Conflicts: kernel/sched/rt.c
Diffstat (limited to 'drivers/crypto/marvell/tdma.c')
-rw-r--r--drivers/crypto/marvell/tdma.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/crypto/marvell/tdma.c b/drivers/crypto/marvell/tdma.c
index 9fd7a5fbaa1b..0cda6e3f2b4b 100644
--- a/drivers/crypto/marvell/tdma.c
+++ b/drivers/crypto/marvell/tdma.c
@@ -112,7 +112,14 @@ void mv_cesa_tdma_chain(struct mv_cesa_engine *engine,
last->next = dreq->chain.first;
engine->chain.last = dreq->chain.last;
- if (!(last->flags & CESA_TDMA_BREAK_CHAIN))
+ /*
+ * Break the DMA chain if the CESA_TDMA_BREAK_CHAIN is set on
+ * the last element of the current chain, or if the request
+ * being queued needs the IV regs to be set before lauching
+ * the request.
+ */
+ if (!(last->flags & CESA_TDMA_BREAK_CHAIN) &&
+ !(dreq->chain.first->flags & CESA_TDMA_SET_STATE))
last->next_dma = dreq->chain.first->cur_dma;
}
}