Fixed bug in some network drivers. (net branch)

git-svn-id: svn://kolibrios.org@2544 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2012-04-02 18:49:13 +00:00
parent 087ba52a9f
commit f10b7bd3bc
7 changed files with 1501 additions and 1508 deletions

View File

@ -199,7 +199,7 @@ proc service_proc stdcall, ioctl:dword
mov [eax], dword API_VERSION
xor eax, eax
ret 4
ret
;------------------------------------------------------
@@: ;---------
@ -231,8 +231,7 @@ proc service_proc stdcall, ioctl:dword
test ecx, ecx
jz .firstdevice_pci
; mov eax, [IOCTL.input] ; get the pci bus and device numbers
mov ax , [eax+1] ;
mov ax , [eax+1] ; get the pci bus and device numbers
.nextdevice:
mov ebx, [esi]
cmp ax , word [device.pci_bus] ; compare with pci and device num in device list (notice the usage of word instead of byte)
@ -306,14 +305,13 @@ proc service_proc stdcall, ioctl:dword
cmp eax, -1
jz .err
ret 4
ret
; If the device was already loaded, find the device number and return it in eax
.find_devicenum:
DEBUGF 1,"Trying to find device number of already registered device\n"
mov ebx, eax
call NetPtrToNum ; This kernel procedure converts a pointer to device struct in ebx
; into a device number in edi
mov eax, edi ; Application wants it in eax instead
@ -330,7 +328,7 @@ proc service_proc stdcall, ioctl:dword
@@:
.fail:
or eax, -1
ret 4
ret
;------------------------------------------------------
endp
@ -661,6 +659,7 @@ nsr_002:
mov [device.mtu], 1514
; Indicate that we have successfully reset the card
xor eax, eax
DEBUGF 2,"Done!\n"
ret

View File

@ -294,8 +294,7 @@ proc service_proc stdcall, ioctl:dword
test ecx, ecx
jz .firstdevice
; mov eax, [IOCTL.input] ; get the pci bus and device numbers
mov ax , [eax+1] ;
mov ax , [eax+1] ; get the pci bus and device numbers
.nextdevice:
mov ebx, [esi]
cmp ax , word [device.pci_bus] ; compare with pci and device num in device list (notice the usage of word instead of byte)

View File

@ -501,7 +501,6 @@ proc service_proc stdcall, ioctl:dword
.find_devicenum:
DEBUGF 2,"Trying to find device number of already registered device\n"
mov ebx, eax
call NetPtrToNum ; This kernel procedure converts a pointer to device struct in ebx
; into a device number in edi
mov eax, edi ; Application wants it in eax instead

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -491,7 +491,6 @@ proc service_proc stdcall, ioctl:dword
.find_devicenum:
DEBUGF 1,"Trying to find device number of already registered device\n"
mov ebx, eax
call NetPtrToNum ; This kernel procedure converts a pointer to device struct in ebx
; into a device number in edi
mov eax, edi ; Application wants it in eax instead

View File

@ -214,7 +214,6 @@ service_proc:
; 5. If the device was already loaded, find the device number and return it in eax
.find_devicenum:
mov ebx, eax
call NetPtrToNum ; This kernel procedure converts a pointer to device struct in ebx
; into a device number in edi
mov eax, edi ; Application wants it in eax instead