mirror of
https://github.com/apache/nuttx.git
synced 2026-05-30 21:36:28 +08:00
esp32s3/wlan: Always run wlan_rxpoll work queue
Even if we were unable to get a free IOB, trigger the work queue to make sure that no old packet is waiting to be handled by the network upper layers.
This commit is contained in:
committed by
Alan Carvalho de Assis
parent
012dddf7c9
commit
33f03fc98c
@@ -448,29 +448,23 @@ static int wlan_rx_done(struct wlan_priv_s *priv, void *buffer,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out:
|
||||||
|
|
||||||
if (eb != NULL)
|
if (eb != NULL)
|
||||||
{
|
{
|
||||||
esp_wifi_free_eb(eb);
|
esp_wifi_free_eb(eb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ret != OK && iob != NULL)
|
||||||
|
{
|
||||||
|
iob_free_chain(iob);
|
||||||
|
}
|
||||||
|
|
||||||
if (work_available(&priv->rxwork))
|
if (work_available(&priv->rxwork))
|
||||||
{
|
{
|
||||||
work_queue(WLAN_WORK, &priv->rxwork, wlan_rxpoll, priv, 0);
|
work_queue(WLAN_WORK, &priv->rxwork, wlan_rxpoll, priv, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
out:
|
|
||||||
if (iob != NULL)
|
|
||||||
{
|
|
||||||
iob_free_chain(iob);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (eb != NULL)
|
|
||||||
{
|
|
||||||
esp_wifi_free_eb(eb);
|
|
||||||
}
|
|
||||||
|
|
||||||
wlan_txavail(&priv->dev);
|
wlan_txavail(&priv->dev);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user