forked from KolibriOS/kolibrios
ignore fake connect events immediately after reset on eBox
git-svn-id: svn://kolibrios.org@4300 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
418e448f59
commit
a0fd67cc25
@ -592,7 +592,6 @@ proc ehci_kickoff_bios
|
|||||||
; corrupted.
|
; corrupted.
|
||||||
; Use a value from MMIO as a starting point.
|
; Use a value from MMIO as a starting point.
|
||||||
mov edx, [eax+EhciCapParamsReg]
|
mov edx, [eax+EhciCapParamsReg]
|
||||||
DEBUGF 1,'K : edx=%x\n',edx
|
|
||||||
movzx edi, byte [eax+EhciCapLengthReg]
|
movzx edi, byte [eax+EhciCapLengthReg]
|
||||||
add edi, eax
|
add edi, eax
|
||||||
push 0
|
push 0
|
||||||
@ -1394,12 +1393,18 @@ proc ehci_process_deferred
|
|||||||
; There was a connect or disconnect event at this port.
|
; There was a connect or disconnect event at this port.
|
||||||
; 3g. Disconnect the old device on this port, if any.
|
; 3g. Disconnect the old device on this port, if any.
|
||||||
; If the port was resetting, indicate fail; later stages will process it.
|
; If the port was resetting, indicate fail; later stages will process it.
|
||||||
|
; Ignore connect event immediately after resetting.
|
||||||
cmp [esi+usb_controller.ResettingHub], 0
|
cmp [esi+usb_controller.ResettingHub], 0
|
||||||
jnz @f
|
jnz .csc.noreset
|
||||||
cmp cl, [esi+usb_controller.ResettingPort]
|
cmp cl, [esi+usb_controller.ResettingPort]
|
||||||
|
jnz .csc.noreset
|
||||||
|
cmp [esi+usb_controller.ResettingStatus], 2
|
||||||
jnz @f
|
jnz @f
|
||||||
mov [esi+usb_controller.ResettingStatus], -1
|
test al, 1
|
||||||
|
jnz .nextport
|
||||||
@@:
|
@@:
|
||||||
|
mov [esi+usb_controller.ResettingStatus], -1
|
||||||
|
.csc.noreset:
|
||||||
bts [esi+usb_controller.NewDisconnected], ecx
|
bts [esi+usb_controller.NewDisconnected], ecx
|
||||||
; 3h. Change connected status. For the connection event, also store
|
; 3h. Change connected status. For the connection event, also store
|
||||||
; the connection time; any further processing is permitted only after
|
; the connection time; any further processing is permitted only after
|
||||||
|
Loading…
Reference in New Issue
Block a user