diff --git a/os/hal/src/adc.c b/os/hal/src/adc.c index 0a51a728e..80c0019e1 100644 --- a/os/hal/src/adc.c +++ b/os/hal/src/adc.c @@ -278,7 +278,7 @@ msg_t adcConvert(ADCDriver *adcp, msg_t msg; chSysLock(); - chDbgAssert(grpp->acg_endcb == NULL, "adcConvert(), #1", "has callback"); + chDbgAssert(adcp->ad_thread == NULL, "adcConvert(), #1", "already waiting"); adcStartConversionI(adcp, grpp, samples, depth); (adcp)->ad_thread = chThdSelf(); chSchGoSleepS(THD_STATE_SUSPENDED); diff --git a/readme.txt b/readme.txt index 92c2a5f3d..1e4064cfd 100644 --- a/readme.txt +++ b/readme.txt @@ -69,6 +69,7 @@ ***************************************************************************** *** 2.2.3 *** +- FIX: Fixed invalid assertion in adcConvert() (bug 3205410). - NEW: Improved preemption implementation for the Cortex-M0, now it uses the NMI vector in order to restore the original context. The change makes IRQ handling faster and also saves some RAM/ROM space. The GCC port code