Original from Badari Pulavarty <pbadari@us.ibm.com>:
pci_alloc_consistent() is returning zone DMA memory to highmem
enabled drivers when it really should have been returning zone NORMAL.
Found this while testing qlogicfc driver for > 4GB support.
void *ret;
int gfp = GFP_ATOMIC;
- if (hwdev == NULL || hwdev->dma_mask != 0xffffffff)
+ if (hwdev == NULL || ((u32)hwdev->dma_mask != 0xffffffff))
gfp |= GFP_DMA;
ret = (void *)__get_free_pages(gfp, get_order(size));