serial: sh-sci: simplify locking when re-issuing RXDMA fails
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 6 May 2024 11:40:20 +0000 (13:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 May 2024 10:48:33 +0000 (11:48 +0100)
Avoid a superfluous unlock/lock-pair by simply moving the printout to
the end of bailing out.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240506114016.30498-10-wsa+renesas@sang-engineering.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci.c

index d31b3aca598787525c11dbae3d11fc39955f8b66..f738980a8b2cacf663590c9c284bdb755a90a5c8 100644 (file)
@@ -1360,14 +1360,12 @@ static void sci_dma_rx_complete(void *arg)
        return;
 
 fail:
-       uart_port_unlock_irqrestore(port, flags);
-       dev_warn(port->dev, "Failed submitting Rx DMA descriptor\n");
        /* Switch to PIO */
-       uart_port_lock_irqsave(port, &flags);
        dmaengine_terminate_async(chan);
        sci_dma_rx_chan_invalidate(s);
        sci_dma_rx_reenable_irq(s);
        uart_port_unlock_irqrestore(port, flags);
+       dev_warn(port->dev, "Failed submitting Rx DMA descriptor\n");
 }
 
 static void sci_dma_tx_release(struct sci_port *s)