@@ -591,21 +591,21 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
* region 2. Should fail.
*/
a = lmb_alloc_addr(alloc_addr_a, 0x1000, LMB_NONE);
- ut_asserteq(a, alloc_addr_a);
+ ut_asserteq(a, 0);
b = lmb_alloc_addr(alloc_addr_a + 0x4000, 0x1000, LMB_NOOVERWRITE);
- ut_asserteq(b, alloc_addr_a + 0x4000);
- ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
- b, 0x1000, 0, 0);
+ ut_asserteq(b, 0);
+ ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
+ alloc_addr_a + 0x4000, 0x1000, 0, 0);
c = lmb_alloc_addr(alloc_addr_a + 0x1000, 0x5000, LMB_NONE);
- ut_asserteq(c, 0);
- ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
- b, 0x1000, 0, 0);
+ ut_asserteq(c, -1);
+ ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
+ alloc_addr_a + 0x4000, 0x1000, 0, 0);
- ret = lmb_free(a, 0x1000);
+ ret = lmb_free(alloc_addr_a, 0x1000);
ut_asserteq(ret, 0);
- ret = lmb_free(b, 0x1000);
+ ret = lmb_free(alloc_addr_a + 0x4000, 0x1000);
ut_asserteq(ret, 0);
/*
@@ -616,19 +616,19 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
* single region.
*/
a = lmb_alloc_addr(alloc_addr_a, 0x1000, LMB_NONE);
- ut_asserteq(a, alloc_addr_a);
+ ut_asserteq(a, 0);
b = lmb_alloc_addr(alloc_addr_a + 0x4000, 0x1000, LMB_NONE);
- ut_asserteq(b, alloc_addr_a + 0x4000);
- ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
- b, 0x1000, 0, 0);
+ ut_asserteq(b, 0);
+ ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
+ alloc_addr_a + 0x4000, 0x1000, 0, 0);
c = lmb_alloc_addr(alloc_addr_a + 0x1000, 0x5000, LMB_NONE);
- ut_asserteq(c, alloc_addr_a + 0x1000);
- ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, a, 0x6000,
+ ut_asserteq(c, 0);
+ ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, alloc_addr_a, 0x6000,
0, 0, 0, 0);
- ret = lmb_free(a, 0x6000);
+ ret = lmb_free(alloc_addr_a, 0x6000);
ut_asserteq(ret, 0);
/*
@@ -638,21 +638,21 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
* region 2. Should fail.
*/
a = lmb_alloc_addr(alloc_addr_a, 0x1000, LMB_NOOVERWRITE);
- ut_asserteq(a, alloc_addr_a);
+ ut_asserteq(a, 0);
b = lmb_alloc_addr(alloc_addr_a + 0x4000, 0x1000, LMB_NOOVERWRITE);
- ut_asserteq(b, alloc_addr_a + 0x4000);
- ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
- b, 0x1000, 0, 0);
+ ut_asserteq(b, 0);
+ ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
+ alloc_addr_a + 0x4000, 0x1000, 0, 0);
c = lmb_alloc_addr(alloc_addr_a + 0x1000, 0x5000, LMB_NOOVERWRITE);
- ut_asserteq(c, 0);
- ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
- b, 0x1000, 0, 0);
+ ut_asserteq(c, -1);
+ ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
+ alloc_addr_a + 0x4000, 0x1000, 0, 0);
- ret = lmb_free(a, 0x1000);
+ ret = lmb_free(alloc_addr_a, 0x1000);
ut_asserteq(ret, 0);
- ret = lmb_free(b, 0x1000);
+ ret = lmb_free(alloc_addr_a + 0x4000, 0x1000);
ut_asserteq(ret, 0);
/* reserve 3 blocks */
Commit 56f186a68b3 ("lmb: check if a region can be reserved by lmb_reserve()") fixed the lmb_reserve() and lmb_alloc_addr() API's for some corner case scenarios, and also added corresonding test cases for these corner cases. These tests were checking, among other things, the lmb_alloc_addr() API. The above commit was applied to the next branch. Subsequently, there was commit 67be24906fe ("lmb: change the return code on lmb_alloc_addr()") which was first applied on the master branch, and subsequently got merged to next as part of the rebase. The second commit changes the return value of the lmb_alloc_addr() API, which now results in some of the tests added as part of the first commit to fail. Fix those test cases. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> --- Note: To be applied on next test/lib/lmb.c | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-)