From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Wed, 20 Apr 2016 17:26:51 -0400 Subject: [U-Boot] [PATCH 2/3] drivers/gpio/pm8916_gpio.c: Make pid be uint32_t In-Reply-To: <57154274.9020705@gmail.com> References: <1460488284-26713-1-git-send-email-trini@konsulko.com> <1460488284-26713-2-git-send-email-trini@konsulko.com> <5715423C.9060700@gmail.com> <57154274.9020705@gmail.com> Message-ID: <20160420212651.GC3732@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, Apr 18, 2016 at 10:24:20PM +0200, Mateusz Kulikowski wrote: > -----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 > >> 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() Further sanity checks on the data we get isn't a bad idea, so no casting. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: