nuttx/arch/arm/src
Freddie Chopin 5a6d95dd9f ave elapsed time before handling I2C in stm32_i2c_sem_waitdone()
It is possible that a context switch occurs after stm32_i2c_isr() call
but before elapsed time is saved in stm32_i2c_sem_waitdone(). It is then
possible that the handling code was executed only once with "elapsed
time" equal 0. When scheduler resumes this thread it is quite possible
that now "elapsed time" will be well above timeout threshold. In that
case the function returns and reports a timeout, even though the
handling code was not executed "recently".

Fix this by inverting the order of operations in the loop - save elapsed
time before handling I2C. This way a context switch anywhere in the loop
will not cause an erroneous "timeout" error.
2017-03-09 07:29:12 -06:00
..
a1x Adapt some drivers to utilize the IRQ argument feature. 2017-02-27 20:54:18 -06:00
arm ELF: Move ARMv6-M, ARMv7-M, and legacy ARM versions of ELF relocation logic to libc/machine 2017-01-21 15:24:25 -06:00
armv6-m irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
armv7-a irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
armv7-m irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
armv7-r I found an issue inside the cp15_coherent_dcache function in file, arch/arm/src/armv7-r/cp15_coherent_dcache.S. 2017-02-13 06:33:15 -06:00
c5471 Experimental change to STM32 Ethernet driver a success. Porting change to all other Ethernet drivers. 2017-03-03 14:45:09 -06:00
common irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
dm320 Convert some serial drivers to use use irq_attach. 2017-02-27 08:55:21 -06:00
efm32 Fixes for coding standard: '*' needs to 'snuggle' with following variable name 2017-02-28 18:22:58 -06:00
imx1 irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
imx6 Adapt some drivers to utilize the IRQ argument feature. 2017-02-27 20:54:18 -06:00
kinetis Merged in david_s5/nuttx/upstream_kinetis (pull request #243) 2017-03-08 22:24:28 +00:00
kl PIC32MZ: Pin IRQ logic no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 12:23:45 -06:00
lpc11xx change Kconfig type of ADC0_MASK from hex to int; add ADC driver options to lpc43xx 2017-03-09 10:41:59 +01:00
lpc17xx change Kconfig type of ADC0_MASK from hex to int; add ADC driver options to lpc43xx 2017-03-09 10:41:59 +01:00
lpc31xx Fixes for coding standard: '*' needs to 'snuggle' with following variable name 2017-02-28 18:37:44 -06:00
lpc43xx Cosmetic changes from review of a previous PR 2017-03-09 07:00:44 -06:00
lpc214x Convert remaining serial drivers to use use irq_attach. 2017-02-27 10:27:14 -06:00
lpc2378 Convert remaining serial drivers to use use irq_attach. 2017-02-27 10:27:14 -06:00
moxart irq_dispatch: Add argument pointer to irq_dispatch 2017-02-27 06:27:56 -06:00
nuc1xx Convert remaining serial drivers to use use irq_attach. 2017-02-27 10:27:14 -06:00
sam34 Experimental change to STM32 Ethernet driver a success. Porting change to all other Ethernet drivers. 2017-03-03 14:45:09 -06:00
sama5 Experimental change to STM32 Ethernet driver a success. Porting change to all other Ethernet drivers. 2017-03-03 14:45:09 -06:00
samdl Fix error found in build testing. 2017-02-28 08:41:44 -06:00
samv7 Experimental change to STM32 Ethernet driver a success. Porting change to all other Ethernet drivers. 2017-03-03 14:45:09 -06:00
stm32 ave elapsed time before handling I2C in stm32_i2c_sem_waitdone() 2017-03-09 07:29:12 -06:00
stm32f7 STM32 OTGFS, STM32 L4 and F7: Adapt Janne Rosberg's patch to STM32 OTGHS host to OTGFS host, and to similar implements for L4 and F7. 2017-03-07 07:17:24 -06:00
stm32l4 STM32 OTGFS, STM32 L4 and F7: Adapt Janne Rosberg's patch to STM32 OTGHS host to OTGFS host, and to similar implements for L4 and F7. 2017-03-07 07:17:24 -06:00
str71x Convert remaining serial drivers to use use irq_attach. 2017-02-27 10:27:14 -06:00
tiva Remove unused variable warning. 2017-03-03 19:19:56 -06:00
tms570 Convert more drivers to use new interrupt argument structure. 2017-02-28 09:05:01 -06:00
.gitignore Remove the arch/ subdirectory; replace it with a submodule 2015-07-22 10:56:22 -06:00
Makefile Back out part of previous commit 2016-11-03 08:57:55 -06:00