Rev 4547 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4547 | Rev 4577 | ||
---|---|---|---|
Line 1567... | Line 1567... | ||
1567 | jz @f |
1567 | jz @f |
1568 | mov dword [edi+EhciStatusReg], 20h |
1568 | mov dword [edi+EhciStatusReg], 20h |
1569 | and dword [esi+ehci_controller.DeferredActions-sizeof.ehci_controller], not 20h |
1569 | and dword [esi+ehci_controller.DeferredActions-sizeof.ehci_controller], not 20h |
1570 | dbgstr 'warning: async advance int missed' |
1570 | dbgstr 'warning: async advance int missed' |
1571 | mov [esi+usb_controller.ReadyPipeHeadAsync], eax |
1571 | mov [esi+usb_controller.ReadyPipeHeadAsync], eax |
- | 1572 | spin_unlock_irq [esi+usb_controller.WaitSpinlock] |
|
1572 | jmp .async_unlock |
1573 | jmp .noasync |
1573 | @@: |
1574 | @@: |
- | 1575 | spin_unlock_irq [esi+usb_controller.WaitSpinlock] |
|
1574 | cmp dword [esp], 100 |
1576 | cmp dword [esp], 100 |
1575 | jb .async_unlock |
1577 | jb .noasync |
1576 | mov dword [esp], 100 |
1578 | mov dword [esp], 100 |
1577 | .async_unlock: |
- | |
1578 | spin_unlock_irq [esi+usb_controller.WaitSpinlock] |
- | |
1579 | .noasync: |
1579 | .noasync: |
1580 | ; 7. Finalize transfers processed by hardware. |
1580 | ; 7. Finalize transfers processed by hardware. |
1581 | ; It is better to perform this step after step 4 (disconnect events), |
1581 | ; It is better to perform this step after step 4 (disconnect events), |
1582 | ; although not strictly obligatory. This way, an active transfer aborted |
1582 | ; although not strictly obligatory. This way, an active transfer aborted |
1583 | ; due to disconnect would be handled with more specific USB_STATUS_CLOSED, |
1583 | ; due to disconnect would be handled with more specific USB_STATUS_CLOSED, |