PPC405GP Ethernet Driver
gregory.menke at gsfc.nasa.gov
gregory.menke at gsfc.nasa.gov
Mon Aug 1 19:07:51 UTC 2005
Check your tx complete routine, you should be freeing the packets
after they're transmitted- IIRC thats the only place your driver
should free packet buffers. Perhaps tx buffers are leaking...
Gregm
Doyle, Bryon Thomas (Bryon) writes:
> Hello, I have been posting over the last few weeks on some pointers
> how to write an Ethernet driver for the RTEMS gen405 BSP. Well,
> I've got it running at about 95% now and I've run into a snag. I
> seem to be running out of available "mbufs" after a few minutes of
> netdemo running on the board, and I don't know why. I run a ping -t
> on my development PC to test the network functionality, it runs
> great for a while then it starts timing out. Over my terminal
> connection to the board, I can run the statistics portion of
> netdemo and it shows that all 512 buffers are full with data. And
> when I try to run the UDP send command after pinging the board for
> a few minutes it freezes and prints out "waiting for available
> mbuf" every 30 seconds or so. Additionally, I am positive that the
> Ethernet controller's DMA is properly configured and all the wrap
> bits are set on the respective buffers. I am reluctant to simply
> add a call to m_freem(m) in my receive function out of fear of
> deleting a pa! cket before the stack has finished processing it,
> and given a quick glance of some other drivers in the RTEMS tree, I
> did not notice any references to freeing up memory buffers after
> they are received. Any thoughts on why my driver is eating up
> mbufs? Any help is always appreciated, and I plan on uploading my
> driver into the RTEMS CVS as soon as I get this problem fixed and
> feel comfortable with it working. Thanks Again.
>
More information about the users
mailing list