/kernel/branches/net/drivers/3c59x.asm |
---|
2394,6 → 2394,7 |
.fail: |
stdcall KernelFree, [esp+4] |
or eax, -1 |
ret 8 |
/kernel/branches/net/drivers/RTL8029.asm |
---|
720,9 → 720,12 |
add dword [device.bytes_tx], eax |
adc dword [device.bytes_tx + 4], 0 |
stdcall KernelFree, [esp+4] |
xor eax, eax |
ret 8 |
.err: |
or eax, -1 |
.finish: |
stdcall KernelFree, [esp+4] |
ret 8 |
/kernel/branches/net/drivers/RTL8139.asm |
---|
728,6 → 728,7 |
.fail: |
DEBUGF 1,"failed!\n" |
stdcall KernelFree, [esp+4] |
or eax, -1 |
ret 8 |
/kernel/branches/net/drivers/RTL8169.asm |
---|
1085,6 → 1085,7 |
add dword [device.bytes_tx], eax |
adc dword [device.bytes_tx + 4], 0 |
xor eax, eax |
ret 8 |
.fail: |
/kernel/branches/net/drivers/i8255x.asm |
---|
595,9 → 595,9 |
[eax+13]:2,[eax+12]:2 |
cmp dword [esp+8], 1500 |
jg .finish ; packet is too long |
jg .error ; packet is too long |
cmp dword [esp+8], 60 |
jl .finish ; packet is too short |
jl .error ; packet is too short |
set_io 0 |
in ax, dx |
643,10 → 643,14 |
in ax, dx |
.finish: |
xor eax, eax |
ret 8 |
.error: |
stdcall KernelFree, [esp+4] |
or eax, -1 |
ret 8 |
;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Interrupt handler ;; |
/kernel/branches/net/drivers/pcnet32.asm |
---|
956,9 → 956,9 |
[eax+13]:2,[eax+12]:2 |
cmp dword [esp+8], 1514 |
jg .finish ; packet is too long |
jg .nospace ; packet is too long |
cmp dword [esp+8], 60 |
jl .finish ; packet is too short |
jl .nospace ; packet is too short |
; check descriptor |
movzx eax, [device.cur_tx] |
1000,12 → 1000,13 |
.finish: |
DEBUGF 2," - Done!\n" |
stdcall KernelFree, [esp+4] |
xor eax, eax |
ret 8 |
.nospace: |
DEBUGF 1, 'ERROR: no free transmit descriptors\n' |
; todo: maybe somehow notify the kernel about the error? |
stdcall KernelFree, [esp+4] |
or eax, -1 |
ret 8 |
/kernel/branches/net/drivers/sis900.asm |
---|
1258,10 → 1258,10 |
transmit: |
cmp dword [esp+8], MAX_ETH_FRAME_SIZE |
ja .finish |
ja .error |
cmp dword [esp+8], 60 |
jb .finish |
jb .error |
movzx ecx, [device.cur_tx] |
shl ecx, 4 |
1286,7 → 1286,12 |
adc dword [device.bytes_tx+4], 0 |
.finish: |
xor eax, eax |
ret 8 |
.error: |
stdcall KernelFree, [esp+4] |
or eax, -1 |
ret 8 |
/kernel/branches/net/drivers/. |
---|
Property changes: |
Added: svn:ignore |
+*.obj |