forked from KolibriOS/kolibrios
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:
parent
c0fe9dddf7
commit
7ce53df3a1
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user