[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] Problem with pbufs on queue
From: |
Zly |
Subject: |
[lwip-users] Problem with pbufs on queue |
Date: |
Sat, 24 Dec 2005 01:43:32 +0100 |
User-agent: |
Mozilla Thunderbird 1.0.6 (X11/20050716) |
Hello to everyone.
I'm writing driver for smc91c111 based ethernet card (on MIPS like
system). I did some optimization on driver, and now it works faster but
i'm getting assertion (before optimization it worked fine, but slower).
The assertion I'm getting follows:
Assertion "tcp_enqueue: pbufs on queue => at least one queue non-empty"
failed at line 158 in /lwip/core/tcp_out.c
The log for the previous version is:
tcp_enqueue(pcb=0x21cd5c, arg=0x0, len=0, flags=12, copy=0)
tcp_enqueue: queuelen: 0
quelen 1 (0 0)
tcp_enqueue: queueing 6510:6511 (0x12)
tcp_enqueue: 1 (after enqueued)
tcp_output_segment: 6510:6510
tcp_output: nothing to send (0x0)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags -+-+-+-+-+-+-+-+-+-+-+-+-+-+
tcp_receive: ACK for 6511, unacked->seqno 6510:6511
tcp_receive: removing 6510:6511 from pcb->unacked
tcp_receive: queuelen 1 ... 0 (after freeing unacked)
tcp_output: nothing to send (0x0)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags -+-+-+-+-+-+-+-+-+-+-+-+-+-+
tcp_output: sending ACK for 377797992
tcp_write(pcb=0x21cd5c, arg=0x411000, len=256, copy=0)
tcp_enqueue(pcb=0x21cd5c, arg=0x411000, len=256, flags=0, copy=0)
tcp_enqueue: queuelen: 0
quelen 1 (0 0)
tcp_enqueue: queueing 6511:6639 (0x0)
tcp_enqueue: queueing 6639:6767 (0x0)
tcp_enqueue: 4 (after enqueued)
tcp_output_segment: 6511:6639
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags -+-+-+-+-+-+-+-+-+-+-+-+-+-+
tcp_output: sending ACK for 377798062
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags
-+-+-+-+-+-+-+-+-+-+-+-+-+-+ tcp_receive: ACK for 6639, unacked->seqno
6511:6639
tcp_receive: removing 6511:6639 from pcb->unacked
tcp_receive: queuelen 4 ... tcp_write(pcb=0x21cd5c, arg=0x411100,
len=128, copy=0)
tcp_enqueue(pcb=0x21cd5c, arg=0x411100, len=128, flags=0, copy=0)
tcp_enqueue: queuelen: 2 quelen1 1 (0 2216424)
quelen1 1 (0 2216424)
The log for the current version is:
tcp_enqueue(pcb=0x21bd5c, arg=0x0, len=0, flags=12, copy=0)
tcp_enqueue: queuelen: 0
quelen 1 (0 0)
tcp_enqueue: queueing 6510:6511 (0x12)
tcp_enqueue: 1 (after enqueued)
tcp_output_segment: 6510:6510
tcp_output: nothing to send (0x0)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags -+-+-+-+-+-+-+-+-+-+-+-+-+-+
tcp_receive: ACK for 6511, unacked->seqno 0:0
tcp_output: nothing to send (0x0)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags -+-+-+-+-+-+-+-+-+-+-+-+-+-+
tcp_output: sending ACK for 4113604214
tcp_write(pcb=0x21bd5c, arg=0x410000, len=256, copy=0)
tcp_enqueue(pcb=0x21bd5c, arg=0x410000, len=256, flags=0, copy=0)
tcp_enqueue: queuelen: 1
quelen1 0 (0 0)
Can you help me to determine what could be the problem with my driver,
or is there some bug in lwIP library?
I would very much appreciate your help.
Kind regards,
Maksovic Vladimir