diff options
| author | Thorsten Blum <blum@kernel.org> | 2026-10-11 15:15:58 +0200 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2026-10-16 20:24:33 +0800 |
| commit | 178aff4cf425b3fc51ff09c571fa1bfbc1eb8ea4 (patch) | |
| tree | daf10f5a4d00cc25a861aa69acf2260943b1a891 | |
| parent | a9c624fa9ea0e27d044decfebb8befdef0e08299 (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.c | 9 |
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; } |
