Commit 07143eae authored by Sonic Zhang's avatar Sonic Zhang Committed by Greg Kroah-Hartman

tty: bfin-sport-uart: Rx interrupt is not called always with irq disabled.

Replace local_irq_disable by local_irq_save.
Signed-off-by: default avatarSonic Zhang <sonic.zhang@analog.com>
Acked-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f5b6940c
...@@ -45,11 +45,12 @@ ...@@ -45,11 +45,12 @@
#define SPORT_GET_RX32(sport) \ #define SPORT_GET_RX32(sport) \
({ \ ({ \
unsigned int __ret; \ unsigned int __ret; \
unsigned long flags; \
if (ANOMALY_05000473) \ if (ANOMALY_05000473) \
local_irq_disable(); \ local_irq_save(flags); \
__ret = bfin_read32((sport)->port.membase + OFFSET_RX); \ __ret = bfin_read32((sport)->port.membase + OFFSET_RX); \
if (ANOMALY_05000473) \ if (ANOMALY_05000473) \
local_irq_enable(); \ local_irq_restore(flags); \
__ret; \ __ret; \
}) })
#define SPORT_GET_RCR1(sport) bfin_read16(((sport)->port.membase + OFFSET_RCR1)) #define SPORT_GET_RCR1(sport) bfin_read16(((sport)->port.membase + OFFSET_RCR1))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment