diff options
Diffstat (limited to 'arch/powerpc/boot/flatdevtree.c')
-rw-r--r-- | arch/powerpc/boot/flatdevtree.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/powerpc/boot/flatdevtree.c b/arch/powerpc/boot/flatdevtree.c index 6c1877358aed..0fa4f98fe647 100644 --- a/arch/powerpc/boot/flatdevtree.c +++ b/arch/powerpc/boot/flatdevtree.c | |||
@@ -261,8 +261,14 @@ static int ft_make_space(struct ft_cxt *cxt, char **pp, enum ft_rgn_id rgn, | |||
261 | char *str, *next; | 261 | char *str, *next; |
262 | enum ft_rgn_id r; | 262 | enum ft_rgn_id r; |
263 | 263 | ||
264 | if (!cxt->isordered && !ft_reorder(cxt, nextra)) | 264 | if (!cxt->isordered) { |
265 | return 0; | 265 | unsigned long rgn_off = *pp - cxt->rgn[rgn].start; |
266 | |||
267 | if (!ft_reorder(cxt, nextra)) | ||
268 | return 0; | ||
269 | |||
270 | *pp = cxt->rgn[rgn].start + rgn_off; | ||
271 | } | ||
266 | if (ft_shuffle(cxt, pp, rgn, nextra)) | 272 | if (ft_shuffle(cxt, pp, rgn, nextra)) |
267 | return 1; | 273 | return 1; |
268 | 274 | ||