diff options
Diffstat (limited to 'os/hal/ports/SAMA/LLD/CRYPTOv1/sama_crypto_lld.c')
-rw-r--r-- | os/hal/ports/SAMA/LLD/CRYPTOv1/sama_crypto_lld.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/os/hal/ports/SAMA/LLD/CRYPTOv1/sama_crypto_lld.c b/os/hal/ports/SAMA/LLD/CRYPTOv1/sama_crypto_lld.c index f06ef34ed..12c2df965 100644 --- a/os/hal/ports/SAMA/LLD/CRYPTOv1/sama_crypto_lld.c +++ b/os/hal/ports/SAMA/LLD/CRYPTOv1/sama_crypto_lld.c @@ -133,8 +133,6 @@ static void crypto_lld_serve_read_interrupt(CRYDriver *cryp, uint32_t flags) { #endif
/* Stop everything.*/
-
- dmaChannelDisable(cryp->dmatx);
dmaChannelDisable(cryp->dmarx);
/* Portable CRY ISR code defined in the high level driver, note, it is
a macro.*/
@@ -161,7 +159,10 @@ static void crypto_lld_serve_write_interrupt(CRYDriver *cryp, uint32_t flags) { (void)flags;
#endif
+ dmaChannelDisable(cryp->dmatx);
+ if (cryp->rxdmamode == 0xFFFFFFFF)
+ _cry_isr_code(cryp);
}
#endif
|