Hi,
> However, I'm running into a bug when I try to write to it.
> I'm still trying to decipher it all, but if you have any ideas,
> they are welcome.
> 
> Thanks!
> Mike
> 
[...]
> while (td != NULL && ED_TAILP(ed) != td->td_dma) {
>   u32 td_flags = get_hwinfo(td);
>   DPRINTK("MWMDEBUG: td_flags = %ul\n", td_flags);
>   if (TD_CC_GET(td_flags) == TD_NOTACCESSED) {
>     *edp = ed;
>     break;
>   } else if (TD_CC_GET(td_flags) == TD_BUSY) {
>     continue;
>   }
>   WARN_ON(TD_CC_GET(td_flags) != TD_BUSY);
>   td = dma_to_td(ohci, td->hwNextTD);
> }
> 
> Here's some values of these variables:
> 
> (gdb) p td_flags
> $11 = 3238993984
> (gdb) p **edp
> $12 = {hwINFO = 3222846020, hwTailP = 3222834908, hwHeadP =
> 3222846028, 
>   hwNextED = 3222835216, dma = 3222851892, dummy = 0xc018d134, 
>   ed_next = 0xc01af4cc, ed_prev = 0xc01af4cc, td_list = {next =
> 0xc0188ec4, 
>     prev = 0xc017d248}, state = 105 'i', type = 115 's', branch =
> 112 'p', 
>   interval = 13875, load = 11570, last_iso = 26735, tick = 26979}
>
What's the value of td->hwNextTD? Since you are oviously using virtual
addresses in hwNextED (according to your hexlified dbg output), I
suspect that hwNextTD also is a virtual address in which case
dma_to_td() cannot return any reasonable result.



Lothar Wassmann


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to