Re: 2.6.26-rc1 regression: ISA DMA broken (bisected)

From: Takashi Iwai
Date: Wed May 14 2008 - 05:25:59 EST


At Tue, 13 May 2008 17:18:39 -0600,
Bjorn Helgaas wrote:
>
> On Tuesday 13 May 2008 11:33:25 am Rene Herman wrote:
> > On 13-05-08 19:01, Alan Cox wrote:
> > > On Tue, 13 May 2008 10:59:32 -0600, Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote:
> > >> On Friday 09 May 2008 12:06:55 am Takashi Iwai wrote:
> > >>> Thanks for catching it. Yeah, the patch looks buggy. We had an
> > >>> implicit assumption that dev = NULL for ISA devices that require 24bit
> > >>> DMA.
> > >> Naive question #1: Why don't we have a struct device for these
> > >> ISA devices? PNP builds a struct device with DMA_24BIT_MASK
> > >> for ISAPNP devices.
> > >
> > > Because nobody has done the needed work to get all the old ISA drivers
> > > converted. I guess isa_device would actually be a platform_device
> > > wrapper ?
> >
> > No, isa_device is its own thing, on its own isa_bus (*). It has a struct
> > device * readily available though...
> >
> > (*) drivers/base/isa.c, and explanatory changelog at:
> >
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a5117ba7da37deb09df5eb802dace229b3fb1e9f
>
> Thanks for the nice changelog.
>
> isa_register_driver() currently doesn't set a DMA mask. Should it?
>
> I only see about 35 dma_alloc_coherent() calls that pass NULL. I
> guess even those would be a fair amount of work to change, and I
> suppose there would be more that I missed.

There are 5 pci_alloc_consistent() with NULL, too.


Takashi
--
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/