Fixed bugs in new ARP code and TCP_output.

git-svn-id: svn://kolibrios.org@3602 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2013-06-05 00:44:59 +00:00
parent c0fe9dddf7
commit 7ce53df3a1
3 changed files with 7 additions and 9 deletions

View File

@ -548,10 +548,10 @@ if ARP_BLOCK
cmp [esi + ARP_entry.Status], ARP_AWAITING_RESPONSE ; Are we waiting for reply from remote end? cmp [esi + ARP_entry.Status], ARP_AWAITING_RESPONSE ; Are we waiting for reply from remote end?
jne .give_up jne .give_up
push esi edi push esi
mov esi, 10 ; wait 10 ms mov esi, 10 ; wait 10 ms
call delay_ms call delay_ms
pop edi esi pop esi
jmp .found_it ; now check again jmp .found_it ; now check again
else else
@ -562,8 +562,8 @@ end if
.valid: .valid:
DEBUGF DEBUG_NETWORK_VERBOSE, "ARP_IP_to_MAC: found MAC\n" DEBUGF DEBUG_NETWORK_VERBOSE, "ARP_IP_to_MAC: found MAC\n"
movzx eax, word[edi + ARP_entry.MAC] movzx eax, word[esi + ARP_entry.MAC]
mov ebx, dword[edi + ARP_entry.MAC + 2] mov ebx, dword[esi + ARP_entry.MAC + 2]
ret ret
.full: .full:

View File

@ -514,8 +514,6 @@ align 4
pushd [edx + 4] pushd [edx + 4]
pop [eax + IP_SOCKET.RemoteIP] pop [eax + IP_SOCKET.RemoteIP]
DEBUGF 1, "Connecting to 0x%x\n", [eax + IP_SOCKET.RemoteIP]
cmp [eax + UDP_SOCKET.LocalPort], 0 cmp [eax + UDP_SOCKET.LocalPort], 0
jne @f jne @f
call SOCKET_find_port call SOCKET_find_port

View File

@ -594,12 +594,12 @@ TCP_send:
pop eax pop eax
mov [eax + TCP_SOCKET.timer_retransmission], TCP_time_re_min mov [eax + TCP_SOCKET.timer_retransmission], TCP_time_re_min
or [ebx + TCP_SOCKET.timer_flags], timer_flag_retransmission or [eax + TCP_SOCKET.timer_flags], timer_flag_retransmission
lea ecx, [eax + SOCKET.mutex] lea ecx, [eax + SOCKET.mutex]
call mutex_unlock call mutex_unlock
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_send: IP error\n" DEBUGF DEBUG_NETWORK_ERROR, "TCP_send: IP error\n"
or eax, -1 or eax, -1
ret ret
@ -611,7 +611,7 @@ TCP_send:
lea ecx, [eax + SOCKET.mutex] lea ecx, [eax + SOCKET.mutex]
call mutex_unlock call mutex_unlock
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_send: sending failed\n" DEBUGF DEBUG_NETWORK_ERROR, "TCP_send: sending failed\n"
or eax, -2 or eax, -2
ret ret