Bugfix in 3com network driver concerning tx reset on transmit.

git-svn-id: svn://kolibrios.org@1545 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2010-08-01 17:39:54 +00:00
parent 714722b812
commit 7d3a0d9fb0

View File

@ -2166,7 +2166,7 @@ mdio_write:
; Checks TxStatus queue.
; Return value
; al - 0 no error was found
; al - 1 error was found TxReset is needed
; al - 1 error was found TxReset was needed
; Destroyed registers
; eax, ecx, edx, ebp
;
@ -2187,7 +2187,7 @@ check_tx_status:
test al, al
jz .finish ; no error
test al, 0x3f
jnz .finish ; error
jnz .error
.no_error_found:
; clear current TxStatus entry which advances the next one
xor al, al
@ -2198,6 +2198,10 @@ check_tx_status:
ret
.error:
call tx_reset
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -2219,8 +2223,6 @@ vortex_transmit:
ja .finish ; packet is too long
call check_tx_status
test al, al
jnz tx_reset
; switch to register window 7
set_io 0
@ -2278,9 +2280,6 @@ boomerang_transmit:
call check_tx_status
test al, al
jnz tx_reset
; calculate descriptor address
mov esi, [device.prev_dpd]
DEBUGF 1,"Previous DPD: %x\n", esi