Re: [PATCH] Input: cyapa - Remove superfluous type check in cyapa_gen5_read_idac_data()

From: Dmitry Torokhov
Date: Mon Mar 02 2015 - 12:41:11 EST


On Mon, Mar 02, 2015 at 04:20:34AM +0000, Dudley Du wrote:
> Thanks for the check.
> This fix is verified okay.

Applied, thank you.

>
> Dudley
>
> > -----Original Message-----
> > From: Geert Uytterhoeven [mailto:geert@xxxxxxxxxxxxxx]
> > Sent: 2015å2æ12æ 22:16
> > To: Dmitry Torokhov; Dudley Du
> > Cc: linux-input@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Geert Uytterhoeven
> > Subject: [PATCH] Input: cyapa - Remove superfluous type check in
> > cyapa_gen5_read_idac_data()
> >
> > drivers/input/mouse/cyapa_gen5.c: In function âcyapa_gen5_read_idac_dataâ:
> > drivers/input/mouse/cyapa_gen5.c:1876: warning: âmax_element_cntâ may be
> > used uninitialized in this function
> > drivers/input/mouse/cyapa_gen5.c:1873: warning: âoffsetâ may be used
> > uninitialized in this function
> >
> > If *data_size is non-zero, and idac_data_type contains an unknown type,
> > max_element_cnt and offset will be uninitialized, and the loop will
> > process non-existing data.
> >
> > However, this cannot happen (for now), as there's a test for unknown
> > types at the top of cyapa_gen5_read_idac_data().
> >
> > As no "if ... else if ..." is used in other places, remove the
> > superfluous "if" to silence the compiler warning.
> >
> > Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> > ---
> > Alternatively, we can pre-initialize max_element_cnt and offset to zero,
> > and add "if (!max_element_cnt) goto out;" before the loop.
> >
> > drivers/input/mouse/cyapa_gen5.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/input/mouse/cyapa_gen5.c b/drivers/input/mouse/cyapa_gen5.c
> > index ddf5393a118098fc..88c465b70e9d8776 100644
> > --- a/drivers/input/mouse/cyapa_gen5.c
> > +++ b/drivers/input/mouse/cyapa_gen5.c
> > @@ -1926,7 +1926,7 @@ static int cyapa_gen5_read_idac_data(struct cyapa
> > *cyapa,
> > electrodes_tx = cyapa->electrodes_x;
> > max_element_cnt = ((cyapa->aligned_electrodes_rx + 7) &
> > ~7u) * electrodes_tx;
> > -} else if (idac_data_type == GEN5_RETRIEVE_SELF_CAP_PWC_DATA) {
> > +} else {
> > offset = 2;
> > max_element_cnt = cyapa->electrodes_x +
> > cyapa->electrodes_y;
> > --
> > 1.9.1
>
>
> This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/