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

From: Bjorn Helgaas
Date: Tue May 13 2008 - 19:19:02 EST


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.

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