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 <rockyowl171@gmail.com>
diff --git a/drivers/serial/uart_sam0.c b/drivers/serial/uart_sam0.c
index 1b5d9ca..a9a770c 100644
--- a/drivers/serial/uart_sam0.c
+++ b/drivers/serial/uart_sam0.c
@@ -754,7 +754,7 @@
{
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)