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

From: Dudley Du
Date: Sun Mar 01 2015 - 23:36:07 EST


Thanks for the check.
This fix is verified okay.

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.