David Moore wrote: > Yes, I think you should use GFP_DMA32 instead of GFP_DMA. GFP_DMA > refers to just the first 16MB of memory. Yes, I forgot that GFP_DMA is for ISA DMA. However since GFP_DMA32 is nowhere enforced except in allocations for coherent PCI DMA and in some AGP code I think now I'll just drop that hunk. From: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Subject: ieee1394: sbp2: enforce 32bit DMA mapping In order to use OHCI-1394 physical DMA, all s/g elements, s/g tables, ORBs, and response buffers have to reside within the first 4 GB of the FireWire controller's physical address space. Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> --- Index: linux-2.6.20-rc5/drivers/ieee1394/sbp2.c =================================================================== --- linux-2.6.20-rc5.orig/drivers/ieee1394/sbp2.c +++ linux-2.6.20-rc5/drivers/ieee1394/sbp2.c @@ -757,6 +757,11 @@ static struct sbp2_lu *sbp2_alloc_device SBP2_ERR("failed to register lower 4GB address range"); goto failed_alloc; } +#else + if (dma_set_mask(hi->host->device.parent, DMA_32BIT_MASK)) { + SBP2_ERR("failed to set 4GB DMA mask"); + goto failed_alloc; + } #endif } -- Stefan Richter -=====-=-=== --=- --=-- http://arcgraph.de/sr/ - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html