mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-25 16:16:50 +03:00
new function: NET_packet_free, i8255x driver should not cause problems anymore.
git-svn-id: svn://kolibrios.org@3861 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
b4f0e98afc
commit
72f900e956
@ -293,7 +293,7 @@ ARP_input:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "ARP_input: IP address conflict detected!\n"
|
||||
|
||||
.exit:
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4 ; pop (balance stack)
|
||||
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "ARP_input: exiting\n"
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; IPv4.INC ;;
|
||||
@ -305,7 +305,7 @@ IPv4_input: ; TODO: add IPv4
|
||||
.dump:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "IPv4_input: dumping\n"
|
||||
inc [IP_packets_dumped] ; FIXME: use correct interface
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4 ; pop (balance stack)
|
||||
ret
|
||||
|
||||
@ -485,7 +485,7 @@ IPv4_input: ; TODO: add IPv4
|
||||
push edx ; Push pointer to fragment onto stack
|
||||
mov ebx, [edx + FRAGMENT_entry.Owner] ; we need to remeber the owner, in case this is the last packet
|
||||
mov edx, [edx + FRAGMENT_entry.NextPtr] ; Set edx to the next pointer
|
||||
call kernel_free ; free the previous fragment buffer (this uses the value from stack)
|
||||
call NET_packet_free ; free the previous fragment buffer (this uses the value from stack)
|
||||
pop eax
|
||||
cmp edx, -1 ; Check if it is last fragment in chain
|
||||
jne .rebuild_packet_loop
|
||||
@ -845,7 +845,7 @@ IPv4_fragment:
|
||||
add esp, 12 + 4 + 6
|
||||
.err2:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "Ipv4_fragment: dumping\n"
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
|
||||
ret
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2012-2013. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; PPPoE.INC ;;
|
||||
@ -103,7 +103,7 @@ PPPoE_discovery_input:
|
||||
popa
|
||||
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, 'PPPoE_discovery_input: dumping\n'
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
ret
|
||||
|
||||
@ -229,7 +229,7 @@ PPPoE_session_input:
|
||||
|
||||
.dump:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "PPPoE_input: dumping\n"
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
ret
|
||||
|
||||
|
@ -82,7 +82,7 @@ ETH_input:
|
||||
|
||||
.dump:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE,"ETH_input: dumping\n"
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
ret
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2010. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; ICMP.INC ;;
|
||||
@ -304,7 +304,7 @@ ICMP_input:
|
||||
.dump:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "ICMP_input: dumping\n"
|
||||
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4 ; pop (balance stack)
|
||||
|
||||
ret
|
||||
|
@ -97,7 +97,7 @@ LOOP_input:
|
||||
|
||||
.dump:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "LOOP_input: dumping\n"
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
ret
|
||||
|
||||
|
@ -929,7 +929,7 @@ SOCKET_receive_dgram:
|
||||
rep movsd
|
||||
.nd:
|
||||
|
||||
call kernel_free ; free kernel buffer
|
||||
call NET_packet_free
|
||||
pop eax ; return number of bytes copied to application
|
||||
xor ebx, ebx
|
||||
ret
|
||||
@ -1568,7 +1568,7 @@ SOCKET_input:
|
||||
call mutex_unlock
|
||||
popa
|
||||
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 8
|
||||
|
||||
ret
|
||||
|
@ -316,6 +316,11 @@ stack_handler:
|
||||
ret
|
||||
|
||||
|
||||
align 4
|
||||
NET_packet_free:
|
||||
and dword[esp+4], not 0xfff
|
||||
jmp kernel_free
|
||||
|
||||
|
||||
align 4
|
||||
NET_link_changed:
|
||||
|
@ -69,7 +69,7 @@ TCP_input:
|
||||
inc [TCP_segments_missed + edi]
|
||||
|
||||
add esp, sizeof.TCP_queue_entry - 8
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
|
||||
ret
|
||||
@ -1490,6 +1490,8 @@ align 4
|
||||
|
||||
.out_of_order:
|
||||
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP data is out of order\n"
|
||||
|
||||
; Uh-oh, some data is out of order, lets call TCP reassemble for help
|
||||
|
||||
call TCP_reassemble
|
||||
@ -1621,7 +1623,7 @@ align 4
|
||||
.dumpit:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: dumping\n"
|
||||
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
jmp .loop
|
||||
|
||||
@ -1694,6 +1696,6 @@ align 4
|
||||
.drop_no_socket:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: Drop (no socket)\n"
|
||||
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4
|
||||
jmp .loop
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;; UDP.INC ;;
|
||||
@ -230,7 +230,7 @@ UDP_input:
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "UDP_input: checksum mismatch\n"
|
||||
|
||||
.dump:
|
||||
call kernel_free
|
||||
call NET_packet_free
|
||||
add esp, 4 ; pop (balance stack)
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE,"UDP_input: dumping\n"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user