From fdc25cd44c2b693aecff96d3dfcd0ee088d48d5b Mon Sep 17 00:00:00 2001 From: Jordan Yates Date: Mon, 31 Jan 2022 13:28:52 +1000 Subject: [PATCH] spi: nrfx_spi*: only run uninit if configured Only run the `uninit` function if the SPI instance has previously been configured. This stops an assertion in the HAL drivers from triggering due to running `uninit` without a previous `init`. Fixes #42299. Signed-off-by: Jordan Yates --- drivers/spi/spi_nrfx_spi.c | 6 ++++-- drivers/spi/spi_nrfx_spim.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi_nrfx_spi.c b/drivers/spi/spi_nrfx_spi.c index b6fe3db56c3..94e486bc080 100644 --- a/drivers/spi/spi_nrfx_spi.c +++ b/drivers/spi/spi_nrfx_spi.c @@ -285,8 +285,10 @@ static int spi_nrfx_pm_action(const struct device *dev, break; case PM_DEVICE_ACTION_SUSPEND: - nrfx_spi_uninit(&config->spi); - data->initialized = false; + if (data->initialized) { + nrfx_spi_uninit(&config->spim); + data->initialized = false; + } break; default: diff --git a/drivers/spi/spi_nrfx_spim.c b/drivers/spi/spi_nrfx_spim.c index 9d56f124210..471cdabb73b 100644 --- a/drivers/spi/spi_nrfx_spim.c +++ b/drivers/spi/spi_nrfx_spim.c @@ -443,8 +443,10 @@ static int spim_nrfx_pm_action(const struct device *dev, break; case PM_DEVICE_ACTION_SUSPEND: - nrfx_spim_uninit(&config->spim); - data->initialized = false; + if (data->initialized) { + nrfx_spim_uninit(&config->spim); + data->initialized = false; + } break; default: