[openib-general] problem with 2.6.19?
Roland Dreier
rdreier at cisco.com
Thu Oct 26 15:26:49 PDT 2006
Steve> The adapter seems to be dma'ing into the wrong memory. The
Steve> patch below backs the usage of dma_map_single() back to
Steve> using __pa() for converting kernel virtual addresses (from
Steve> kmalloc) into bus addresses, and things work ok.
Hmm. It might be interesting to hack the driver to print the result
of both dma_map_single() and __pa() and see if they're different.
Are you running on a 32-bit (i386) or 64-bit (x86_64) kernel? How
much RAM do you have? Is the kernel using swiotlb? If so then you
need to make sure your DMA_{TO,FROM} directions and dma_unmap calls
are right, since otherwise the DMAed data won't be copied to/from the
bounce buffer at the right time.
If you're not using swiotlb then I'm somewhat mystified. I guess
comparing what dma_map_single() and __pa() do might be enlightening.
Another thing to do if you're patient would be to use git-bisect and
figure out exactly which patch made amso1100 stop working.
- R.
More information about the general
mailing list