diff options
author | Olof Johansson <olof@lixom.net> | 2012-05-12 09:59:11 +0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-05-12 09:59:11 +0400 |
commit | 4a0dfe69fe489b06ae5bad26ae67ae8aefaca3aa (patch) | |
tree | cdac4232b95103402e8328815be80105620d41f2 /mm/nobootmem.c | |
parent | 7488185d0777ef84be7b365b08037fc7213010f6 (diff) | |
parent | a0f5e3631b07cabf624e7d818df76d47d9d21017 (diff) | |
download | linux-4a0dfe69fe489b06ae5bad26ae67ae8aefaca3aa.tar.xz |
Merge branch 'imx/pinctrl/for-3.5' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/pinctrl
* 'imx/pinctrl/for-3.5' of git://git.linaro.org/people/shawnguo/linux-2.6: (290 commits)
ARM: mxs: enable pinctrl support
video: mxsfb: adopt pinctrl support
ASoC: mxs-saif: adopt pinctrl support
i2c: mxs: adopt pinctrl support
mtd: nand: gpmi: adopt pinctrl support
mmc: mxs-mmc: adopt pinctrl support
serial: mxs-auart: adopt pinctrl support
serial: amba-pl011: adopt pinctrl support
spi/imx: adopt pinctrl support
i2c: imx: adopt pinctrl support
can: flexcan: adopt pinctrl support
net: fec: adopt pinctrl support
tty: serial: imx: adopt pinctrl support
mmc: sdhci-imx-esdhc: adopt pinctrl support
ARM: imx6q: switch to use pinctrl subsystem
ARM: mxs: enable pinctrl dummy states
ARM: imx: enable pinctrl dummy states
+3.4-rc5 update
Diffstat (limited to 'mm/nobootmem.c')
-rw-r--r-- | mm/nobootmem.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mm/nobootmem.c b/mm/nobootmem.c index 24f0fc1a56d6..e53bb8a256b1 100644 --- a/mm/nobootmem.c +++ b/mm/nobootmem.c @@ -298,13 +298,19 @@ void * __init __alloc_bootmem_node(pg_data_t *pgdat, unsigned long size, if (WARN_ON_ONCE(slab_is_available())) return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); +again: ptr = __alloc_memory_core_early(pgdat->node_id, size, align, goal, -1ULL); if (ptr) return ptr; - return __alloc_memory_core_early(MAX_NUMNODES, size, align, - goal, -1ULL); + ptr = __alloc_memory_core_early(MAX_NUMNODES, size, align, + goal, -1ULL); + if (!ptr && goal) { + goal = 0; + goto again; + } + return ptr; } void * __init __alloc_bootmem_node_high(pg_data_t *pgdat, unsigned long size, |