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