This is the call stack of the recursion: input_thread() i82559_deliver() PacketRxReady() eth_drv_recv() ecosif_input() etharp_arp_input() low_level_output() eth_drv_send() i82559_can_send() -->PacketRxReady eth_drv_recv() ecosif_input() ...
So the recursion happens in i82559_can_send() when it calls PacketRxReady(). This time, it was for the reply of an ARP request. Michael -----Original Message----- From: Andrew Lunn [mailto:[EMAIL PROTECTED] Sent: April 5, 2006 9:57 AM To: Michael Grimard Cc: [EMAIL PROTECTED] Subject: Re: [ECOS] RE: Trouble using lwIP (driver crash...) On Wed, Apr 05, 2006 at 09:53:25AM -0400, Michael Grimard wrote: > > Already done that. > > This is what I got: > > InitRxRing 0 > ResetRxRing 0 > InitTxRing 0 > ResetTxRing 0 > Device 0 (eth0), rx descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes Device 0 (eth0), rx > descriptor 0: > Rx 0 12e160 (status 8000a022): 1 sg's, 60 bytes ASSERT FAIL: > <5>if_i82559.c[2370]i82559_can_send() send: Excess send recursions > ASSERT FAIL: <5>if_i82559.c [2370] i82559_can_send() > > > All I do is ping eCos three times. It looks like you will have to debug this further. Try single stepping from eth_drv_send() and work out why it goes recursive. Andrew -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
