Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ed43f6a authored by Graf Yang's avatar Graf Yang Committed by Greg Kroah-Hartman
Browse files

serial: bfin_5xx: need to disable DMA TX interrupt too



If we don't disable the DMA TX channel, an inopportune timeout will
trigger the interrupt handler and may cause a dead lock with the spin_lock.

Signed-off-by: default avatarGraf Yang <graf.yang@analog.com>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b2ced4f6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -488,6 +488,7 @@ void bfin_serial_rx_dma_timeout(struct bfin_serial_port *uart)
{
	int x_pos, pos;

	dma_disable_irq(uart->tx_dma_channel);
	dma_disable_irq(uart->rx_dma_channel);
	spin_lock_bh(&uart->port.lock);

@@ -521,6 +522,7 @@ void bfin_serial_rx_dma_timeout(struct bfin_serial_port *uart)
	}

	spin_unlock_bh(&uart->port.lock);
	dma_enable_irq(uart->tx_dma_channel);
	dma_enable_irq(uart->rx_dma_channel);

	mod_timer(&(uart->rx_dma_timer), jiffies + DMA_RX_FLUSH_JIFFIES);