Message ID | 1423750573-30263-1-git-send-email-geert@linux-m68k.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Thanks for the check. This fix is verified okay. Dudley > -----Original Message----- > From: Geert Uytterhoeven [mailto:geert@linux-m68k.org] > Sent: 2015?2?12? 22:16 > To: Dmitry Torokhov; Dudley Du > Cc: linux-input@vger.kernel.org; linux-kernel@vger.kernel.org; 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@linux-m68k.org> > --- > 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.
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@linux-m68k.org] > > Sent: 2015?2?12? 22:16 > > To: Dmitry Torokhov; Dudley Du > > Cc: linux-input@vger.kernel.org; linux-kernel@vger.kernel.org; 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@linux-m68k.org> > > --- > > 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.
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;
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@linux-m68k.org> --- 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(-)