kopia lustrzana https://github.com/espressif/esp-idf
esp_eth: fixed esp_eth_transmit_vargs to transmit only when link is up
esp_eth test: clear unicast Rx event before waitpull/12369/head
rodzic
ea5e0ff298
commit
888e4339f9
|
@ -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_eth_driver_t *eth_driver = (esp_eth_driver_t *)hdl;
|
||||
|
||||
if (atomic_load(ð_driver->fsm) != ESP_ETH_FSM_START) {
|
||||
if (atomic_load(ð_driver->link) != ETH_LINK_UP) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
// wait for dummy traffic
|
||||
xEventGroupClearBits(eth_event_rx_group, ETH_UNICAST_RECV_BIT);
|
||||
recv_info.unicast_rx_cnt = 0;
|
||||
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);
|
||||
|
|
Ładowanie…
Reference in New Issue