zephyr/drivers
Paul Sokolovsky 45b1d73164 drivers: serial: uart_cmsdk_apb: Ack IRQs before callback to avoid races
This effectively reverts part of earlier 49bb163756 which moved
interrupt acknowledgement until after return from the user callback.
This was done confusing the flow of this driver with how some other
drivers do it, where pending interrupt status is checked by
uart_irq_rx_ready()/uart_irq_tx_ready(), which should be called by
the callback. But the uart_cmsdk_apb driver actually uses different
hardware register in these functions. And acking IRQs after user
callback can lead to race condition and losing an IRQ, and the
simple fix in this case is just move acknowledgement to where it
was before.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-11-22 13:14:19 -05:00
..
adc adc: remove adc_ti_adc108s102.h 2018-11-21 18:06:11 -05:00
aio drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
audio dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
bluetooth drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
can dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
clock_control dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
console drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
counter dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
crypto drivers: crypto: Fix precedence issue in if statement 2018-10-25 07:23:49 +01:00
display dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
dma logging: Fix errors in log usage 2018-11-10 12:38:29 -05:00
entropy drivers: entropy: add Atmel SAM entropy generator driver 2018-11-14 12:58:49 -05:00
ethernet drivers: eth_mcux: adding i.mx-rt support 2018-11-20 09:54:25 -06:00
flash drivers: flash: w25q: Add support for page layout 2018-11-21 05:08:10 -06:00
gpio drivers: gpio_gecko: Use emlib API for compatibility 2018-11-21 13:42:26 -06:00
i2c dts: nrf: Remove TWI dts.fixup defines and use aliases instead. 2018-11-20 22:18:09 +01:00
i2s i2s: fix bad argument to k_mem_slab_free() 2018-11-16 18:26:03 -05:00
ieee802154 ieee802154: cc2520: Move to DT only config support 2018-11-16 14:02:00 -05:00
interrupt_controller dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
ipm imx: Add IMX IPM driver for i.MX socs 2018-11-19 08:38:38 -06:00
led driver: led: move to new logger 2018-10-10 10:22:01 -04:00
led_strip drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
modem drivers: modem: WNCM14A2A select UART_INTERRUPT_DRIVEN 2018-11-21 04:09:23 -06:00
net net: qemu: Allow SLIP or normal ethernet connectivity 2018-11-10 09:13:45 -05:00
neural_net dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
pci drivers/pci: Avoid nested C/C++ comments 2018-11-15 17:38:25 -05:00
pinmux dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
ptp_clock drivers: ptp_clock: Kconfig: Remove redundant 'default n' properties 2018-07-03 17:11:31 -04:00
pwm drivers: pwm: Add power management to pwm_nrfx 2018-11-16 15:01:16 +01:00
rtc dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
sensor dts: nrf: Remove qdec dts.fixup defines and use aliases instead. 2018-11-20 22:18:09 +01:00
serial drivers: serial: uart_cmsdk_apb: Ack IRQs before callback to avoid races 2018-11-22 13:14:19 -05:00
spi drivers/spi: stm32: Use device tree for device clock configuration 2018-11-21 12:28:58 -05:00
timer kernel: expose k_busy_wait() to user mode 2018-11-15 16:20:36 -05:00
usb drivers: usb: nordic: change USBD driver locking scheme 2018-11-22 13:13:16 -05:00
watchdog dts: nrf: Remove WDT dts.fixup defines and use aliases instead. 2018-11-20 22:18:09 +01:00
wifi driver: wifi: eswifi: Fix how we get SPI bus 2018-11-21 16:01:13 -05:00
CMakeLists.txt drivers: neural_net: Use correct Kconfig variable 2018-11-09 16:52:32 -05:00
Kconfig kconfig: intel_s1000: Add neural_net Kconfig 2018-11-08 17:08:19 -05:00