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:
Родитель
f5b6940cbc
Коммит
07143eaefd
|
@ -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))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче