Re: [PATCH 5 of 13] ipath - use proper address translation routine

From: Arjan van de Ven
Date: Mon May 01 2006 - 14:53:58 EST


On Mon, 2006-05-01 at 11:50 -0700, Roland Dreier wrote:
> Bryan> Move away from an obsolete, unportable routine for
> Bryan> translating physical addresses.
>
> This change:
>
> > - isge->vaddr = bus_to_virt(sge->addr);
> > + isge->vaddr = phys_to_virt(sge->addr);
>
> is really wrong. bus_to_virt() is really what you want, because in
> this case the address is a bus address that came from dma_map_xxx().
> You're still going to be hosed on systems with IOMMUs for example.

do you really NEED the vaddr?
(most of the time linux drivers don't need it, while other OSes do)
If you really need it you should grab it at dma_map time ...
(and realize that it's not kernel addressable per se ;)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/