Hello,
I’m back again, now that I’m delving back into the mysterious “lockup” problem that I visited several months ago, and was never resolved… So here it is… hardfail every time occurs during large pipe transfers when the hardware goes away… In the debugger my code is stuck in an endless loop…
sequence is D58, D5B, D5F, Jump to D9D, DA0, DA3, DA6, DA9, DAC, DAF DB1, DB5, jump to D58…
here is the code…
10016D58 mov edx,dword ptr [ebp-14h]
10016D5B cmp byte ptr [edx+1],4
10016D5F jne CCyUSBConfig::CCyUSBConfig+0B2h (10016d9d)
10016D61 push 4Ch
10016D63 call operator new (1001789e)
10016D68 pop ecx
10016D69 mov dword ptr [ebp-1Ch],eax
10016D6C and dword ptr [ebp-4],0
10016D70 test eax,eax
10016D72 je CCyUSBConfig::CCyUSBConfig+98h (10016d83)
10016D74 push dword ptr [ebp-14h]
10016D77 mov ecx,eax
10016D79 push dword ptr [ebp+8]
10016D7C call CCyUSBInterface::CCyUSBInterface (10016a82)
10016D81 jmp CCyUSBConfig::CCyUSBConfig+9Ah (10016d85)
10016D83 xor eax,eax
10016D85 or dword ptr [ebp-4],0FFh
10016D89 inc dword ptr [ebp+0Ch]
10016D8C mov dword ptr [edi],eax
10016D8E add edi,4
10016D91 inc byte ptr [esi+29h]
10016D94 mov eax,dword ptr [edi-4]
10016D97 movzx eax,word ptr [eax+4Ah]
10016D9B jmp CCyUSBConfig::CCyUSBConfig+0B5h (10016da0)
10016D9D movzx eax,byte ptr [edx]
10016DA0 add dword ptr [ebp-10h],eax
10016DA3 mov eax,dword ptr [ebp-10h]
10016DA6 cmp eax,dword ptr [ebp-18h]
10016DA9 lea ecx,[eax+ebx]
10016DAC mov dword ptr [ebp-14h],ecx
10016DAF jge CCyUSBConfig::CCyUSBConfig+0CCh (10016db7)
10016DB1 cmp dword ptr [ebp+0Ch],8
10016DB5 jl CCyUSBConfig::CCyUSBConfig+6Dh (10016d58)
just a guess, but it looks like the device driver missed the exit que…
Anybody got any suggestions where to look, while I’m boiling my code down to the minimum reproducable set?
Also, hope you got your order for Qty 60+…
Thanks,
Bill