Hi, Le 16/11/2021 à 12:20, Tudor Ambarus a écrit : > The tx_submit() method of struct dma_async_tx_descriptor is entitled > to do sanity checks and return errors if encountered. It's not the > case for the DMA controller drivers that this client is using > (at_h/xdmac), because they currently don't do sanity checks and always > return a positive cookie at tx_submit() method. In case the controller > drivers will implement sanity checks and return errors, print a message > so that the client will be informed that something went wrong at > tx_submit() level. > > Fixes: 08f738be88bb ("serial: at91: add tx dma support") > Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> > --- > drivers/tty/serial/atmel_serial.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c > index 2c99a47a2535..376f7a9c2868 100644 > --- a/drivers/tty/serial/atmel_serial.c > +++ b/drivers/tty/serial/atmel_serial.c > @@ -1004,6 +1004,11 @@ static void atmel_tx_dma(struct uart_port *port) > desc->callback = atmel_complete_tx_dma; > desc->callback_param = atmel_port; > atmel_port->cookie_tx = dmaengine_submit(desc); > + if (dma_submit_error(atmel_port->cookie_tx)) { > + dev_err(port->dev, "dma_submit_error %d\n", > + atmel_port->cookie_tx); > + return; > + } > } > > if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) > @@ -1258,6 +1263,11 @@ static int atmel_prepare_rx_dma(struct uart_port *port) > desc->callback_param = port; > atmel_port->desc_rx = desc; > atmel_port->cookie_rx = dmaengine_submit(desc); > + if (dma_submit_error(atmel_port->cookie_rx)) { > + dev_err(port->dev, "dma_submit_error %d\n", > + atmel_port->cookie_rx); > + goto chan_err; > + } > > return 0; > > Acked-by: Richard Genoud <richard.genoud@xxxxxxxxx> Thanks !