forked from KolibriOS/kolibrios
[KERNEL] Temporal fix for EDI destruction
git-svn-id: svn://kolibrios.org@9801 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
0700cf15dd
commit
b2bd20b9fa
@ -87,6 +87,7 @@ align 4
|
|||||||
IPv4_fragments rb IPv4_MAX_FRAGMENTS * sizeof.IPv4_FRAGMENT_slot
|
IPv4_fragments rb IPv4_MAX_FRAGMENTS * sizeof.IPv4_FRAGMENT_slot
|
||||||
|
|
||||||
; IPv4_routes rd IPv4_MAX_ROUTES * sizeof.IPv4_ROUTE
|
; IPv4_routes rd IPv4_MAX_ROUTES * sizeof.IPv4_ROUTE
|
||||||
|
edi_saved rd 1
|
||||||
|
|
||||||
endg
|
endg
|
||||||
|
|
||||||
@ -457,6 +458,7 @@ ipv4_input:
|
|||||||
mov esi, [esi + IPv4_FRAGMENT_slot.ptr] ; We found the first entry, let's calculate total size of the packet in eax, so we can allocate a buffer
|
mov esi, [esi + IPv4_FRAGMENT_slot.ptr] ; We found the first entry, let's calculate total size of the packet in eax, so we can allocate a buffer
|
||||||
push esi
|
push esi
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
|
mov [edi_saved], edi
|
||||||
or edi, -1
|
or edi, -1
|
||||||
|
|
||||||
.count_bytes:
|
.count_bytes:
|
||||||
@ -553,6 +555,7 @@ ipv4_input:
|
|||||||
add esp, 12
|
add esp, 12
|
||||||
xchg cl, ch
|
xchg cl, ch
|
||||||
push ecx edx ; size and pointer
|
push ecx edx ; size and pointer
|
||||||
|
mov edi, [edi_saved]
|
||||||
jmp .handle_it ; edx = buf ptr, ecx = size, [esp] buf ptr, [esp+4], total size, ebx=device ptr
|
jmp .handle_it ; edx = buf ptr, ecx = size, [esp] buf ptr, [esp+4], total size, ebx=device ptr
|
||||||
|
|
||||||
.destroy_slot_pop:
|
.destroy_slot_pop:
|
||||||
|
Loading…
Reference in New Issue
Block a user