[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] pbuf_alloc failed after sometime at driver side.

From: Grzegorz Niemirowski
Subject: Re: [lwip-users] pbuf_alloc failed after sometime at driver side.
Date: Sat, 11 Oct 2014 01:31:11 +0200

Sergio R. Caprile <address@hidden> napisaƂ(a):
Please don't repost the same issue with a different name...
Check your driver code, from what the other user said, looks like non-IP
packets are being discarded without freeing their buffer.
Check with the one who wrote the driver and/or the port.
When the Ethernet controller signals frame(s) pending, the receiving
task allocates a buffer for it and transfers data. Then, this buffer is
checked for upper-layer protocol and handled to the stack or discarded.
Code for this is in the netif tree and is modified by the one providing
the driver and the port.

Isn't the stack responsible for freeing PBUFs? Received frames are passed by mbox (in tcpip_input()) to the TCP/IP thread. Inside the thread the ethernet_input (etharp.c) function is called. For IP packets it calls ip_input(), for non-ARP and non-IP it calls pbuf_free().

Best regards,
Grzegorz Niemirowski

reply via email to

[Prev in Thread] Current Thread [Next in Thread]