Re: [PATCH v2] serial: atmel: convert not to use dma_request_slave_channel()

From: Jiri Slaby
Date: Mon Nov 20 2023 - 02:07:23 EST


On 20. 11. 23, 8:04, Jiri Slaby wrote:
On 20. 11. 23, 7:14, claudiu beznea wrote:
Hi, Christophe,

On 19.11.2023 17:55, Christophe JAILLET wrote:
dma_request_slave_channel() is deprecated. dma_request_chan() should
be used directly instead.

Switch to the preferred function and update the error handling accordingly.

Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---
v2: Also update atmel_prepare_rx_dma()
---
  drivers/tty/serial/atmel_serial.c | 16 ++++++++++++----
  1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
index 1946fafc3f3e..6aeb4648843b 100644
--- a/drivers/tty/serial/atmel_serial.c
+++ b/drivers/tty/serial/atmel_serial.c
@@ -1013,14 +1013,18 @@ static int atmel_prepare_tx_dma(struct uart_port *port)
      struct device *mfd_dev = port->dev->parent;
      dma_cap_mask_t        mask;
      struct dma_slave_config config;
+    struct dma_chan *chan;

There is no need for this.

How'd you avoid crash in here then:
        if (atmel_port->chan_tx)
                atmel_release_tx_dma(port);
?

I will answer myself: easily. As there is
atmel_port->chan_tx = NULL;
which I overlooked at first.


thanks,

--
js
suse labs