[U-Boot] [PATCH 16/30] dm: cbfs: Fix handling of invalid type

Simon Glass sjg at chromium.org
Mon Feb 29 05:19:02 CET 2016


Hi Bin,

On 16 February 2016 at 07:51, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Mon, Feb 15, 2016 at 10:16 AM, Simon Glass <sjg at chromium.org> wrote:
>> The comment for file_cbfs_type() says that it returns 0 for an invalid type.
>> The code appears to check for -1, except that it uses an unsigned variable
>> to store the type. This results in a warning on 64-bit machines.
>>
>> Adjust it to make the meaning clearer. Continue to handle the -1 case since
>> it may be needed.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>>  cmd/cbfs.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/cmd/cbfs.c b/cmd/cbfs.c
>> index 35d8a7a..cdfc9b6 100644
>> --- a/cmd/cbfs.c
>> +++ b/cmd/cbfs.c
>> @@ -103,7 +103,7 @@ int do_cbfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
>>         printf("     size              type  name\n");
>>         printf("------------------------------------------\n");
>>         while (file) {
>> -               u32 type = file_cbfs_type(file);
>> +               int type = file_cbfs_type(file);
>
> but file_cbfs_type() returns u32 as its type..
>
>>                 char *type_name = NULL;
>>                 const char *filename = file_cbfs_name(file);
>>
>> @@ -140,7 +140,7 @@ int do_cbfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
>>                 case CBFS_COMPONENT_CMOS_LAYOUT:
>>                         type_name = "cmos layout";
>>                         break;
>> -               case -1UL:
>> +               case -1:
>
> What about: case (u32)-1UL:

Actually they are the same thing. This code is pretty horrible - I
suspect the return value of -1 is intended, but since it is u32 they
use -1UL. But there is no need for that really.

>
>>                         type_name = "null";
>>                         break;
>>                 }
>> --

Regards,
Simon


More information about the U-Boot mailing list