[U-Boot] [PATCH 2/3] drivers/gpio/pm8916_gpio.c: Make pid be uint32_t

Mateusz Kulikowski mateusz.kulikowski at gmail.com
Mon Apr 18 22:24:20 CEST 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 18.04.2016 22:23, Mateusz Kulikowski wrote:
> Hi,
> 
> Sorry for slow reply.
> 
> On 12.04.2016 21:11, Tom Rini wrote:
>> If get_dev_addr fails it will return FDT_ADDR_T_NONE and:
>>>>>     "priv->pid == 4294967295U" is always false regardless of the values of its operands. This occurs as the logical operand of if.
> 
>> Cc: Mateusz Kulikowski <mateusz.kulikowski at gmail.com>
>> Reported-by: Coverity (CID: 143913)
> [...]
> 
>> -	uint16_t pid; /* Peripheral ID on SPMI bus */
>> +	uint32_t pid; /* Peripheral ID on SPMI bus */
>>  };
> 
>>  static int pm8916_gpio_set_direction(struct udevice *dev, unsigned offset,
> 
> 
> Note applies to two patches in this series (pm8916_gpio.c and pm8916.c)
> 
> I think (now, when the coverity pointed out mistake) that we should add
> in that case check if pid fits in 16-bits, as this is maximum pid value on spmi bus.
> 
> This checks should be done in pm8916_gpio_probe() and pm8916_probe().
> 
> Would you like to do it in your series or want me to post another patch on top of them?

Or even better - leave it as uint16_t and do check & cast in probe()

Matuesz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJXFUJtAAoJELvtohmVtQzBblgH/ROdYlG668Kz8ak/sUo/xksn
NFeWMDC8pORbCOLhPnHcEJhAPzx+a0c5pUWUvsloTnj8t08rM+pcmnVV+jW4DhAC
TxUgXYKjXMzbNlYYGn4cfb1Qlyss0+/xkv3C33LwI4hQYmE46RtThYtZqt6Uk+lk
9/eGCHt+H1tbKoD1BZIbzUwoDMTGlv7FgpzsH0/iW1QsDhbfUc27jkZNUvDgZO3Y
ElX9I9cSFD5oqSVO3X+iDtGXaD6UEOGU+nb42wkTc9gyg9qunS9TV2kJsrrJu2DD
Le4mN8NevrxyYbRZZM7EThkBD7skHr8wKUm6ccoQZLuMK+ZaYaukGirYTFSBQS0=
=MwzG
-----END PGP SIGNATURE-----


More information about the U-Boot mailing list