[U-Boot] [PATCH v2 06/22] Correct map_sysmem() logic in do_mem_mw()
Simon Glass
sjg at chromium.org
Sat Mar 21 00:14:52 CET 2015
On 9 March 2015 at 03:06, Bin Meng <bmeng.cn at gmail.com> wrote:
> On Fri, Mar 6, 2015 at 3:25 AM, Simon Glass <sjg at chromium.org> wrote:
>> This function does not unmap what it maps. Correct it.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> Changes in v2: None
>>
>> common/cmd_mem.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/common/cmd_mem.c b/common/cmd_mem.c
>> index bcb3ee3..855aa57 100644
>> --- a/common/cmd_mem.c
>> +++ b/common/cmd_mem.c
>> @@ -165,7 +165,7 @@ static int do_mem_mw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> #endif
>> ulong addr, count;
>> int size;
>> - void *buf;
>> + void *buf, *start;
>> ulong bytes;
>>
>> if ((argc < 3) || (argc > 4))
>> @@ -197,7 +197,8 @@ static int do_mem_mw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> }
>>
>> bytes = size * count;
>> - buf = map_sysmem(addr, bytes);
>> + start = map_sysmem(addr, bytes);
>> + buf = start;
>> while (count-- > 0) {
>> if (size == 4)
>> *((u32 *)buf) = (u32)writeval;
>> @@ -211,7 +212,7 @@ static int do_mem_mw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> *((u8 *)buf) = (u8)writeval;
>> buf += size;
>> }
>> - unmap_sysmem(buf);
>> + unmap_sysmem(start);
>> return 0;
>> }
>>
>> --
>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
Applied to u-boot-dm/next.
More information about the U-Boot
mailing list