mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
Merge branch 'bugfix/spi_free_crash_uninitialized_v4.3' into 'release/v4.3'
spi: fixed crash when calling spi_bus_free when not initialized (v4.3) See merge request espressif/esp-idf!17609
This commit is contained in:
@ -152,7 +152,7 @@ esp_err_t spi_bus_initialize(spi_host_device_t host_id, const spi_bus_config_t *
|
|||||||
* @param host_id SPI peripheral to free
|
* @param host_id SPI peripheral to free
|
||||||
* @return
|
* @return
|
||||||
* - ESP_ERR_INVALID_ARG if parameter is invalid
|
* - ESP_ERR_INVALID_ARG if parameter is invalid
|
||||||
* - ESP_ERR_INVALID_STATE if not all devices on the bus are freed
|
* - ESP_ERR_INVALID_STATE if bus hasn't been initialized before, or not all devices on the bus are freed
|
||||||
* - ESP_OK on success
|
* - ESP_OK on success
|
||||||
*/
|
*/
|
||||||
esp_err_t spi_bus_free(spi_host_device_t host_id);
|
esp_err_t spi_bus_free(spi_host_device_t host_id);
|
||||||
|
@ -734,6 +734,10 @@ const spi_bus_attr_t* spi_bus_get_attr(spi_host_device_t host_id)
|
|||||||
|
|
||||||
esp_err_t spi_bus_free(spi_host_device_t host_id)
|
esp_err_t spi_bus_free(spi_host_device_t host_id)
|
||||||
{
|
{
|
||||||
|
if (bus_ctx[host_id] == NULL) {
|
||||||
|
return ESP_ERR_INVALID_STATE;
|
||||||
|
}
|
||||||
|
|
||||||
esp_err_t err = ESP_OK;
|
esp_err_t err = ESP_OK;
|
||||||
spicommon_bus_context_t* ctx = bus_ctx[host_id];
|
spicommon_bus_context_t* ctx = bus_ctx[host_id];
|
||||||
spi_bus_attr_t* bus_attr = &ctx->bus_attr;
|
spi_bus_attr_t* bus_attr = &ctx->bus_attr;
|
||||||
|
Reference in New Issue
Block a user