fix(driver_twai): fixed coverity check in twai

This commit is contained in:
wanckl 2025-01-14 21:07:41 +08:00
parent 5945331268
commit 8a4f3cec5a
2 changed files with 8 additions and 1 deletions

View File

@ -293,6 +293,7 @@ static void twai_intr_handler_main(void *arg)
static void twai_configure_gpio(twai_obj_t *p_obj)
{
uint8_t controller_id = p_obj->controller_id;
assert(GPIO_IS_VALID_OUTPUT_GPIO(p_obj->tx_io)); //coverity check
uint64_t gpio_mask = BIT64(p_obj->tx_io);
//Set RX pin
@ -330,6 +331,7 @@ static void twai_configure_gpio(twai_obj_t *p_obj)
static void twai_release_gpio(twai_obj_t *p_obj)
{
assert(p_obj);
assert(GPIO_IS_VALID_OUTPUT_GPIO(p_obj->tx_io)); //coverity check
uint64_t gpio_mask = BIT64(p_obj->tx_io);
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ONE_INPUT, twai_controller_periph_signals.controllers[p_obj->controller_id].rx_sig, false);

View File

@ -524,15 +524,20 @@ esp_err_t SPI_SLAVE_ISR_ATTR spi_slave_queue_reset_isr(spi_host_device_t host)
ESP_RETURN_ON_FALSE_ISR(is_valid_host(host), ESP_ERR_INVALID_ARG, SPI_TAG, "invalid host");
ESP_RETURN_ON_FALSE_ISR(spihost[host], ESP_ERR_INVALID_ARG, SPI_TAG, "host not slave");
esp_err_t err = ESP_OK;
spi_slave_trans_priv_t trans;
BaseType_t do_yield = pdFALSE;
while (pdFALSE == xQueueIsQueueEmptyFromISR(spihost[host]->trans_queue)) {
ESP_RETURN_ON_FALSE_ISR(pdTRUE == xQueueReceiveFromISR(spihost[host]->trans_queue, &trans, &do_yield), ESP_ERR_INVALID_STATE, SPI_TAG, "can't reset queue");
if (pdTRUE != xQueueReceiveFromISR(spihost[host]->trans_queue, &trans, &do_yield)) {
err = ESP_ERR_INVALID_STATE;
break;
}
spi_slave_uninstall_priv_trans(host, &trans);
}
if (do_yield) {
portYIELD_FROM_ISR();
}
ESP_RETURN_ON_ERROR_ISR(err, SPI_TAG, "can't reset queue");
spihost[host]->cur_trans.trans = NULL;
return ESP_OK;