--- linux-2.6.0-test11/drivers/scsi/aic7xxx/aic7xxx_osm.c.OLD 2003-12-19 16:26:15.000000000 -0500 +++ linux-2.6.0-test11/drivers/scsi/aic7xxx/aic7xxx_osm.c 2003-12-19 16:29:17.000000000 -0500 @@ -1408,12 +1408,18 @@ * our dma mask when doing allocations. */ if (ahc->dev_softc != NULL) - ahc_pci_set_dma_mask(ahc->dev_softc, 0xFFFFFFFF); + if (ahc_pci_set_dma_mask(ahc->dev_softc, 0xFFFFFFFF)) { + printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); + return (ENODEV); + } *vaddr = pci_alloc_consistent(ahc->dev_softc, dmat->maxsize, &map->bus_addr); if (ahc->dev_softc != NULL) - ahc_pci_set_dma_mask(ahc->dev_softc, - ahc->platform_data->hw_dma_mask); + if (ahc_pci_set_dma_mask(ahc->dev_softc, + ahc->platform_data->hw_dma_mask)) { + printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); + return (ENODEV); + } #else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0) */ /* * At least in 2.2.14, malloc is a slab allocator so all --- linux-2.6.0-test11/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c.OLD 2003-12-19 16:30:32.000000000 -0500 +++ linux-2.6.0-test11/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c 2003-12-19 16:31:43.000000000 -0500 @@ -168,7 +168,10 @@ ahc->flags |= AHC_39BIT_ADDRESSING; ahc->platform_data->hw_dma_mask = mask_39bit; } else { - ahc_pci_set_dma_mask(pdev, 0xFFFFFFFF); + if (ahc_pci_set_dma_mask(pdev, 0xFFFFFFFF)) { + printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); + return (-ENODEV); + } ahc->platform_data->hw_dma_mask = 0xFFFFFFFF; } #endif --- linux-2.6.0-test11/drivers/scsi/aic7xxx/aic79xx_osm.c.OLD 2003-12-19 16:34:01.000000000 -0500 +++ linux-2.6.0-test11/drivers/scsi/aic7xxx/aic79xx_osm.c 2003-12-19 16:35:11.000000000 -0500 @@ -1776,12 +1776,18 @@ * our dma mask when doing allocations. */ if (ahd->dev_softc != NULL) - ahd_pci_set_dma_mask(ahd->dev_softc, 0xFFFFFFFF); + if (ahd_pci_set_dma_mask(ahd->dev_softc, 0xFFFFFFFF)) { + printk(KERN_WARNING "aic79xx: No suitable DMA available.\n"); + return (ENODEV); + } *vaddr = pci_alloc_consistent(ahd->dev_softc, dmat->maxsize, &map->bus_addr); if (ahd->dev_softc != NULL) - ahd_pci_set_dma_mask(ahd->dev_softc, - ahd->platform_data->hw_dma_mask); + if (ahd_pci_set_dma_mask(ahd->dev_softc, + ahd->platform_data->hw_dma_mask)) { + printk(KERN_WARNING "aic79xx: No suitable DMA available.\n"); + return (ENODEV); + } #else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0) */ /* * At least in 2.2.14, malloc is a slab allocator so all