another small fix

git-svn-id: svn://kolibrios.org@3700 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
CleverMouse 2013-06-24 15:22:56 +00:00
parent 77ca8a319a
commit e787937c63

View File

@ -1385,7 +1385,7 @@ end virtual
; 1. Initialize ErrorTD to zero. ; 1. Initialize ErrorTD to zero.
and [edi+uhci_pipe.ErrorTD-sizeof.uhci_pipe], 0 and [edi+uhci_pipe.ErrorTD-sizeof.uhci_pipe], 0
; 2. Initialize HeadTD to the physical address of the first TD. ; 2. Initialize HeadTD to the physical address of the first TD.
push eax ; store pointer to the first TD for step ? push eax ; store pointer to the first TD for step 4
sub eax, sizeof.uhci_gtd sub eax, sizeof.uhci_gtd
call get_phys_addr call get_phys_addr
mov [edi+uhci_pipe.HeadTD-sizeof.uhci_pipe], eax mov [edi+uhci_pipe.HeadTD-sizeof.uhci_pipe], eax
@ -1416,7 +1416,8 @@ end virtual
; 4. Initialize the first TD: ; 4. Initialize the first TD:
; copy Token from uhci_pipe.Token zeroing reserved bit 20, ; copy Token from uhci_pipe.Token zeroing reserved bit 20,
; set ControlStatus for future transfers, bit make it inactive, ; set ControlStatus for future transfers, bit make it inactive,
; set bit 0 in NextTD = "no next TD". ; set bit 0 in NextTD = "no next TD",
; zero OrigBufferInfo.
pop edx ; restore pointer saved in step 2 pop edx ; restore pointer saved in step 2
mov [edx+uhci_gtd.Token-sizeof.uhci_gtd], eax mov [edx+uhci_gtd.Token-sizeof.uhci_gtd], eax
and byte [edx+uhci_gtd.Token+2-sizeof.uhci_gtd], not (1 shl (20-16)) and byte [edx+uhci_gtd.Token+2-sizeof.uhci_gtd], not (1 shl (20-16))
@ -1424,6 +1425,7 @@ end virtual
shl eax, 6 shl eax, 6
or eax, UHCI_INVALID_LENGTH + (3 shl 27) or eax, UHCI_INVALID_LENGTH + (3 shl 27)
; not processed, inactive, allow 3 errors ; not processed, inactive, allow 3 errors
and [edx+uhci_gtd.OrigBufferInfo-sizeof.uhci_gtd], 0
mov [edx+uhci_gtd.ControlStatus-sizeof.uhci_gtd], eax mov [edx+uhci_gtd.ControlStatus-sizeof.uhci_gtd], eax
mov [edx+uhci_gtd.NextTD-sizeof.uhci_gtd], 1 mov [edx+uhci_gtd.NextTD-sizeof.uhci_gtd], 1
; 5. Select the corresponding list and insert to the list. ; 5. Select the corresponding list and insert to the list.