From e54d2553f37678e26d03069ef8d7ac1a1bbbe43f Mon Sep 17 00:00:00 2001 From: Ron Smith Date: Sun, 29 Aug 2021 20:24:59 -0400 Subject: [PATCH] drivers: serial: uart_sam0: Correct check for interrupts enabled Fixes the issue where uart_sam0_irq_tx_ready would return true if the INTFLAG was set even though the INTSET bit for the given interrupt was not enabled yet through uart_sam0_irq_tx_enable. Signed-off-by: Ron Smith --- drivers/serial/uart_sam0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/serial/uart_sam0.c b/drivers/serial/uart_sam0.c index 1b5d9cafda8..a9a770c2290 100644 --- a/drivers/serial/uart_sam0.c +++ b/drivers/serial/uart_sam0.c @@ -754,7 +754,7 @@ static int uart_sam0_irq_tx_ready(const struct device *dev) { SercomUsart * const regs = DEV_CFG(dev)->regs; - return regs->INTFLAG.bit.DRE != 0; + return (regs->INTFLAG.bit.DRE != 0) && (regs->INTENSET.bit.DRE != 0); } static void uart_sam0_irq_rx_enable(const struct device *dev)