Apr 01, 2021
07:32 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 01, 2021
07:32 AM
Hello,
I've noticed that, when trying to send data continuously as fast as possible for several minutes, I end up hitting the following assertion "No chained buffers".
static err_t low_level_output( struct netif *netif, /*@only@*/ struct pbuf *p )
{
/*@-noeffect@*/
UNUSED_PARAMETER( netif );
/*@+noeffect@*/
if ( ( (wiced_interface_t) netif->state == WICED_ETHERNET_INTERFACE ) ||
( wwd_wifi_is_ready_to_transceive( (wwd_interface_t) netif->state ) == WWD_SUCCESS ) )
{
/* Take a reference to this packet */
pbuf_ref( p );
LWIP_ASSERT( "No chained buffers", ( ( p->next == NULL ) && ( ( p->tot_len == p->len ) ) ) );
wwd_network_send_ethernet_data( p, (wwd_interface_t) netif->state );
LINK_STATS_INC( link.xmit );
return (err_t) ERR_OK;
}
else
{
/* Stop lint warning about packet not being freed - it is not being referenced */ /*@-mustfree@*/
return (err_t) ERR_INPROGRESS; /* Note that signalling ERR_CLSD or ERR_CONN causes loss of connectivity on a roam */
/*@+mustfree@*/
}
}
Do you know what sort of problem would lead to that?
Thanks for your help,
Ben
Solved! Go to Solution.
Labels
- Labels:
-
WICED Studio Wi-Fi Combo
1 Solution
Apr 09, 2021
09:34 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 09, 2021
09:34 PM
The fact is lwIP can chain buffers (and you cannot avoid lwIP to do that).
WWD does not support chained buffers, so if you hit this assertion it's clearly a bug.
The WWD needs to take care of handling chained buffers.
9 Replies