diff --git a/arch/arm/src/cxd56xx/cxd56_serial.c b/arch/arm/src/cxd56xx/cxd56_serial.c index 1ec3b7b849..fd1fa7d51b 100644 --- a/arch/arm/src/cxd56xx/cxd56_serial.c +++ b/arch/arm/src/cxd56xx/cxd56_serial.c @@ -1001,9 +1001,13 @@ static void up_txint(FAR struct uart_dev_s *dev, bool enable) * interrupts disabled (note this may recurse). */ +# ifdef CONFIG_SMP spin_unlock_irqrestore(&priv->lock, flags); +# endif uart_xmitchars(dev); +# ifdef CONFIG_SMP flags = spin_lock_irqsave(&priv->lock); +# endif #endif } else