Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2934 → Rev 2935

/kernel/branches/net/drivers/RTL8139.asm
739,43 → 739,41
;; Interrupt handler ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;
 
align 4
int_handler:
 
DEBUGF 1,"\nIRQ %x\n", eax:2 ; no, you cant replace 'eax:2' with 'al', this must be a bug in FDO
DEBUGF 1,"\n%s int\n", my_service
 
; find pointer of device wich made IRQ occur
 
mov esi, device_list
mov ecx, [devices]
test ecx, ecx
jz .fail
jz .nothing
mov esi, device_list
.nextdevice:
mov ebx, dword [esi]
mov ebx, [esi]
 
set_io 0
set_io REG_ISR
in ax , dx
out dx , ax ; send it back to ACK
 
add esi, 4
 
test ax , ax
jnz .got_it
 
.continue:
add esi, 4
dec ecx
jnz .nextdevice
 
.nothing:
ret ; If no device was found, abort (The irq was probably for a device, not registered to this driver)
 
.got_it:
 
; looks like we've found it!
DEBUGF 1,"Device: %x Status: %x ", ebx, ax
 
; Lets found out why the irq occured then..
 
;----------------------------------------------------
; Received packet ok?
 
test ax, ISR_ROK
jz @f
push ax