Hello.

Caglar Akyuz wrote:

[...]

Assuming that the DMA got stuck at some point leading up to the transmit
timeout, any ideas as to why a host error was not thrown?  To help
debug, I'll post out a set of patches that dump out the MAC (and DMA)
registers on timeout.  That should give us some visibility into the
problem.

I have posted a couple of additional patches for this on [1].  Would you
mind giving these a quick try?  The register dumps should prove useful
in figuring this out.


Hi Cyril,

I'm having problems with suspend/resume with emac driver on dm6446. I thought you might give an idea about the root cause of the problem.

After a successful suspend/resume, emac driver does not work as expected. When I issue 'ifdown eth0 down' on my machine, dm6446 locks-up forever in 'cpdma_chan_stop' in this loop:

        while (time_before(jiffies, timeout)) {
                u32 cp = chan_read(chan, cp);
                if ((cp & CPDMA_TEARDOWN_VALUE) == CPDMA_TEARDOWN_VALUE)
                        break;
                cpu_relax();
        }

'cp' is never being CPDMA_TEARDOWN_VALUE so loop never ends.

   But it should exit the loop on time-out, no?

WBR, Sergei

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to