fix r4302

git-svn-id: svn://kolibrios.org@4305 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
CleverMouse 2013-11-27 17:14:28 +00:00
parent 19d2a1e87e
commit 16f7bbae41

View File

@ -222,7 +222,7 @@ end virtual
; 1. Check that the maximal nesting is not exceeded: ; 1. Check that the maximal nesting is not exceeded:
; 5 non-root hubs is the maximum according to the spec. ; 5 non-root hubs is the maximum according to the spec.
mov ebx, [.pipe] mov ebx, [.pipe]
movi ecx, 5 push 5
mov eax, ebx mov eax, ebx
.count_parents: .count_parents:
mov eax, [eax+usb_pipe.DeviceData] mov eax, [eax+usb_pipe.DeviceData]
@ -230,11 +230,13 @@ end virtual
test eax, eax test eax, eax
jz .depth_ok jz .depth_ok
mov eax, [eax+usb_hub.ConfigPipe] mov eax, [eax+usb_hub.ConfigPipe]
dec ecx dec dword [esp]
jnz .count_parents jnz .count_parents
pop eax
dbgstr 'Hub chain is too long' dbgstr 'Hub chain is too long'
jmp .return0 jmp .return0
.depth_ok: .depth_ok:
pop eax
; Hubs use one IN interrupt endpoint for polling the device ; Hubs use one IN interrupt endpoint for polling the device
; 2. Locate the descriptor of the interrupt endpoint. ; 2. Locate the descriptor of the interrupt endpoint.
; Loop over all descriptors owned by this interface. ; Loop over all descriptors owned by this interface.