summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Blum <blum@kernel.org>2026-10-11 15:15:58 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2026-10-16 20:24:33 +0800
commit178aff4cf425b3fc51ff09c571fa1bfbc1eb8ea4 (patch)
treedaf10f5a4d00cc25a861aa69acf2260943b1a891
parenta9c624fa9ea0e27d044decfebb8befdef0e08299 (diff)
crypto: atmel-tdes - consolidate error paths in atmel_tdes_dma_init()
Release the DMA channel directly and consolidate the error paths. Signed-off-by: Thorsten Blum <blum@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/atmel-tdes.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/crypto/atmel-tdes.c b/drivers/crypto/atmel-tdes.c
index f92dc2fff50c..6b561b333ac6 100644
--- a/drivers/crypto/atmel-tdes.c
+++ b/drivers/crypto/atmel-tdes.c
@@ -633,7 +633,7 @@ static int atmel_tdes_dma_init(struct atmel_tdes_dev *dd)
dd->dma_lch_in.chan = dma_request_chan(dd->dev, "tx");
if (IS_ERR(dd->dma_lch_in.chan)) {
ret = PTR_ERR(dd->dma_lch_in.chan);
- goto err_dma_in;
+ goto err_dma;
}
dd->dma_lch_in.dma_conf.dst_addr = dd->phys_base +
@@ -649,7 +649,8 @@ static int atmel_tdes_dma_init(struct atmel_tdes_dev *dd)
dd->dma_lch_out.chan = dma_request_chan(dd->dev, "rx");
if (IS_ERR(dd->dma_lch_out.chan)) {
ret = PTR_ERR(dd->dma_lch_out.chan);
- goto err_dma_out;
+ dma_release_channel(dd->dma_lch_in.chan);
+ goto err_dma;
}
dd->dma_lch_out.dma_conf.src_addr = dd->phys_base +
@@ -664,9 +665,7 @@ static int atmel_tdes_dma_init(struct atmel_tdes_dev *dd)
return 0;
-err_dma_out:
- dma_release_channel(dd->dma_lch_in.chan);
-err_dma_in:
+err_dma:
dev_err(dd->dev, "no DMA channel available\n");
return ret;
}