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

Replace local_irq_disable by local_irq_save.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Sonic Zhang 2011-12-06 15:16:33 +08:00 коммит произвёл Greg Kroah-Hartman
Родитель f5b6940cbc
Коммит 07143eaefd
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -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))