problem with blk_queue_bounce_limit()

David Mosberger (davidm@napali.hpl.hp.com)
Wed, 4 Jun 2003 23:42:16 -0700


On platforms with I/O MMU hardware, memory above 4GB, and IDE hard disks,
this check:

BUG_ON(dma_addr < BLK_BOUNCE_ISA);

causes an instant panic. The reason is quite obvious: since there is
an I/O MMU, BLK_BOUNCE_ISA is effectively unlimited, and most IDE
controllers can of course DMA only to <4GB.

So, the check is wrong. I think the proper way to fix this is to pass
a "struct dev" into the routine and then to use dma_supported() to
check whether bounce buffers will be needed. Do you agree? If so,
can you fix it?

Thanks,

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