diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-05-03 15:49:23 +0200 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-05-04 09:11:20 +0200 |
commit | 8865209545dae9c2745927758a51c60f922e02ca (patch) | |
tree | c2e0148b9ce02478e780a673755716318d31e9ab /src/target/target.c | |
parent | 32e647acf40bc11858a524e5ee73183ce0d9449b (diff) | |
download | openocd_libswd-8865209545dae9c2745927758a51c60f922e02ca.tar.gz openocd_libswd-8865209545dae9c2745927758a51c60f922e02ca.tar.bz2 openocd_libswd-8865209545dae9c2745927758a51c60f922e02ca.tar.xz openocd_libswd-8865209545dae9c2745927758a51c60f922e02ca.zip |
target: clean up target memory allocation error messages
target memory allocation can be implemented not to show
bogus error messages.
E.g. when trying a big allocation first and then a
smaller one if that fails.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src/target/target.c')
-rw-r--r-- | src/target/target.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/target/target.c b/src/target/target.c index 73594fb0..a3a1b0ad 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1111,7 +1111,7 @@ int target_call_timer_callbacks_now(void) return target_call_timer_callbacks_check_time(0); } -int target_alloc_working_area(struct target *target, uint32_t size, struct working_area **area) +int target_alloc_working_area_try(struct target *target, uint32_t size, struct working_area **area) { struct working_area *c = target->working_areas; struct working_area *new_wa = NULL; @@ -1189,8 +1189,6 @@ int target_alloc_working_area(struct target *target, uint32_t size, struct worki if (free_size < size) { - LOG_WARNING("not enough working area available(requested %u, free %u)", - (unsigned)(size), (unsigned)(free_size)); return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; } @@ -1231,6 +1229,19 @@ int target_alloc_working_area(struct target *target, uint32_t size, struct worki return ERROR_OK; } +int target_alloc_working_area(struct target *target, uint32_t size, struct working_area **area) +{ + int retval; + + retval = target_alloc_working_area_try(target, size, area); + if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) + { + LOG_WARNING("not enough working area available(requested %u)", (unsigned)(size)); + } + return retval; + +} + static int target_free_working_area_restore(struct target *target, struct working_area *area, int restore) { if (area->free) |