mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
esp_eth: fixed esp_eth_transmit_vargs to transmit only when link is up
esp_eth test: clear unicast Rx event before wait
This commit is contained in:
parent
5da56ea361
commit
5ebe6b51d8
@ -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(ð_driver->fsm) != ESP_ETH_FSM_START) {
|
if (atomic_load(ð_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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user