Subject: Re: network devices don't handle pci_dma_mapping_error()'s

From: Stephen Hemminger <[email-masked]>
Date: Wed, 6 Dec 2006 10:16:44 -0800

On Tue, 5 Dec 2006 09:00:45 +0200
Muli Ben-Yehuda <[email-masked]> wrote:

> On Mon, Dec 04, 2006 at 10:39:49AM -0800, Stephen Hemminger wrote:
> 
> > I notice that no current network driver handles dma mapping errors.
> > Might that be part of the problem.  On i386, this never happens, and
> > it would be rare on most others.
> 
> IOMMUs are already available on x86-64 and are going to get widespread
> with the the introduction of IOMMUs from Intel and AMD. Might as well
> fix it now...
> 
> How about CONFIG_DEBUG_DMA_API that does book-keeping and yells if a
> driver is mis-using the DMA API?
> 
> Cheers,
> Muli

I think it is really only an issue for drivers that turn on HIGH_DMA
and have limited mask values. The majority of drivers either only handle
32 bit (!HIGH_DMA) or do full 64 bit mapping. I don't know the details
of how we manage IOMMU, but doesn't mapping always work for those drivers.

That just leaves devices with odd size mask values that need to be
handle mapping errors.

-- 
Stephen Hemminger <[email-masked]>