Merge branch 'bugfix/tx_only_link_up' into 'master'

Ethernet minor fixes

See merge request espressif/esp-idf!23882
This commit is contained in:
Ondrej Kosta 2023-05-29 19:00:10 +08:00
commit e270c8ac72
3 changed files with 4 additions and 5 deletions

View File

@ -372,9 +372,9 @@ esp_err_t esp_eth_transmit_vargs(esp_eth_handle_t hdl, uint32_t argc, ...)
esp_err_t ret = ESP_OK; esp_err_t ret = ESP_OK;
esp_eth_driver_t *eth_driver = (esp_eth_driver_t *)hdl; esp_eth_driver_t *eth_driver = (esp_eth_driver_t *)hdl;
if (atomic_load(&eth_driver->fsm) != ESP_ETH_FSM_START) { if (atomic_load(&eth_driver->link) != ETH_LINK_UP) {
ret = ESP_ERR_INVALID_STATE; ret = ESP_ERR_INVALID_STATE;
ESP_LOGD(TAG, "Ethernet is not started"); ESP_LOGD(TAG, "Ethernet link is not up, can't transmit");
goto err; goto err;
} }

View File

@ -315,6 +315,7 @@ TEST_CASE("ethernet start/stop stress test under heavy traffic", "[ethernet_l2]"
poke_and_wait(eth_handle, &rx_i, sizeof(rx_i), eth_event_rx_group); poke_and_wait(eth_handle, &rx_i, sizeof(rx_i), eth_event_rx_group);
// wait for dummy traffic // wait for dummy traffic
xEventGroupClearBits(eth_event_rx_group, ETH_UNICAST_RECV_BIT);
recv_info.unicast_rx_cnt = 0; recv_info.unicast_rx_cnt = 0;
bits = xEventGroupWaitBits(eth_event_rx_group, ETH_UNICAST_RECV_BIT, true, true, pdMS_TO_TICKS(3000)); bits = xEventGroupWaitBits(eth_event_rx_group, ETH_UNICAST_RECV_BIT, true, true, pdMS_TO_TICKS(3000));
TEST_ASSERT((bits & ETH_UNICAST_RECV_BIT) == ETH_UNICAST_RECV_BIT); TEST_ASSERT((bits & ETH_UNICAST_RECV_BIT) == ETH_UNICAST_RECV_BIT);

View File

@ -180,9 +180,7 @@ static esp_eth_handle_t eth_init_spi(spi_eth_module_config_t *spi_eth_module_con
.mode = 0, .mode = 0,
.clock_speed_hz = CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ * 1000 * 1000, .clock_speed_hz = CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ * 1000 * 1000,
.queue_size = 20, .queue_size = 20,
.spics_io_num = spi_eth_module_config->spi_cs_gpio, .spics_io_num = spi_eth_module_config->spi_cs_gpio
.input_delay_ns = 20
}; };
// Init vendor specific MAC config to default, and create new SPI Ethernet MAC instance // Init vendor specific MAC config to default, and create new SPI Ethernet MAC instance
// and new PHY instance based on board configuration // and new PHY instance based on board configuration