[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