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 <jordan.yates@data61.csiro.au>
This commit is contained in:
Jordan Yates 2022-01-31 13:28:52 +10:00 committed by Carles Cufí
commit fdc25cd44c
2 changed files with 8 additions and 4 deletions

View file

@ -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:

View file

@ -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: