diff -urN zz/arch/i386/kernel/pci-dma.c z/arch/i386/kernel/pci-dma.c --- zz/arch/i386/kernel/pci-dma.c Tue Feb 15 00:34:21 2000 +++ z/arch/i386/kernel/pci-dma.c Thu Dec 6 15:22:12 2001 @@ -19,7 +19,7 @@ void *ret; int gfp = GFP_ATOMIC; - if (hwdev == NULL || hwdev->dma_mask != 0xffffffff) + if (hwdev == NULL || hwdev->dma_mask < 0xffffffff) gfp |= GFP_DMA; ret = (void *)__get_free_pages(gfp, get_order(size));