aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/lib/rheap.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/lib/rheap.c')
-rw-r--r--arch/powerpc/lib/rheap.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/arch/powerpc/lib/rheap.c b/arch/powerpc/lib/rheap.c
index b2f6dcc59600..180ee2933ab9 100644
--- a/arch/powerpc/lib/rheap.c
+++ b/arch/powerpc/lib/rheap.c
@@ -468,25 +468,19 @@ unsigned long rh_alloc_align(rh_info_t * info, int size, int alignment, const ch
468 if (blk->size == size) { 468 if (blk->size == size) {
469 /* Move from free list to taken list */ 469 /* Move from free list to taken list */
470 list_del(&blk->list); 470 list_del(&blk->list);
471 blk->owner = owner; 471 newblk = blk;
472 start = blk->start; 472 } else {
473 473 newblk = get_slot(info);
474 attach_taken_block(info, blk); 474 newblk->start = blk->start;
475 newblk->size = size;
475 476
476 return start; 477 /* blk still in free list, with updated start, size */
478 blk->start += size;
479 blk->size -= size;
477 } 480 }
478 481
479 newblk = get_slot(info);
480 newblk->start = blk->start;
481 newblk->size = size;
482 newblk->owner = owner; 482 newblk->owner = owner;
483
484 /* blk still in free list, with updated start, size */
485 blk->start += size;
486 blk->size -= size;
487
488 start = newblk->start; 483 start = newblk->start;
489
490 attach_taken_block(info, newblk); 484 attach_taken_block(info, newblk);
491 485
492 /* for larger alignment return fixed up pointer */ 486 /* for larger alignment return fixed up pointer */