forked from luck/tmp_suning_uos_patched
[IA64-SGI] sn_dma_alloc_coherent should use gfp flags
Takashi helped us track down a bad page state bug we thought was coming from alsa. It turns out we weren't paying attention to the gfp flags that were passed in to sn_dma_alloc_coherent(). From: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Edwards <edwardsg@sgi.com> Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Jes Sorensen <jes@sgi.com>
This commit is contained in:
parent
2a792058c3
commit
dc64161343
@ -90,14 +90,14 @@ void *sn_dma_alloc_coherent(struct device *dev, size_t size,
|
|||||||
*/
|
*/
|
||||||
node = pcibus_to_node(pdev->bus);
|
node = pcibus_to_node(pdev->bus);
|
||||||
if (likely(node >=0)) {
|
if (likely(node >=0)) {
|
||||||
struct page *p = alloc_pages_node(node, GFP_ATOMIC, get_order(size));
|
struct page *p = alloc_pages_node(node, flags, get_order(size));
|
||||||
|
|
||||||
if (likely(p))
|
if (likely(p))
|
||||||
cpuaddr = page_address(p);
|
cpuaddr = page_address(p);
|
||||||
else
|
else
|
||||||
return NULL;
|
return NULL;
|
||||||
} else
|
} else
|
||||||
cpuaddr = (void *)__get_free_pages(GFP_ATOMIC, get_order(size));
|
cpuaddr = (void *)__get_free_pages(flags, get_order(size));
|
||||||
|
|
||||||
if (unlikely(!cpuaddr))
|
if (unlikely(!cpuaddr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user