iio: adc: stm32-adc: fix stopping dma
authorFabrice Gasnier <fabrice.gasnier@st.com>
Fri, 25 Oct 2019 15:04:20 +0000 (17:04 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 27 Oct 2019 15:57:19 +0000 (15:57 +0000)
commite6afcf6c598d6f3a0c9c408bfeddb3f5730608b0
treea61f1f1176910bb0d5b17fbe75d333738b379bba
parent6e82ae6b8d11b948b74e71396efd8e074c415f44
iio: adc: stm32-adc: fix stopping dma

There maybe a race when using dmaengine_terminate_all(). The predisable
routine may call iio_triggered_buffer_predisable() prior to a pending DMA
callback.
Adopt dmaengine_terminate_sync() to ensure there's no pending DMA request
before calling iio_triggered_buffer_predisable().

Fixes: 2763ea0585c9 ("iio: adc: stm32: add optional dma support")

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/stm32-adc.c