2019-05-07 08:22:51

by Colin King

[permalink] [raw]
Subject: [PATCH][next] Input: qt1050: fix less than zero comparison on an unsigned int

From: Colin Ian King <[email protected]>

Currently the less than zero comparison of val is always false because
val is an unsigned int. Fix this by making val a signed int.

Addresses-Coverity: ("Unsigned compared against zero")
Fixes: a33ff45923c8 ("Input: qt1050 - add Microchip AT42QT1050 support")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/input/keyboard/qt1050.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/keyboard/qt1050.c b/drivers/input/keyboard/qt1050.c
index 6b1603cb7515..4debddb13972 100644
--- a/drivers/input/keyboard/qt1050.c
+++ b/drivers/input/keyboard/qt1050.c
@@ -222,7 +222,7 @@ static struct regmap_config qt1050_regmap_config = {

static bool qt1050_identify(struct qt1050_priv *ts)
{
- unsigned int val;
+ int val;

/* Read Chip ID */
regmap_read(ts->regmap, QT1050_CHIP_ID, &val);
--
2.20.1


2019-05-07 08:29:13

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH][next] Input: qt1050: fix less than zero comparison on an unsigned int

On Tue, May 07, 2019 at 09:21:35AM +0100, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Currently the less than zero comparison of val is always false because
> val is an unsigned int. Fix this by making val a signed int.
>
> Addresses-Coverity: ("Unsigned compared against zero")
> Fixes: a33ff45923c8 ("Input: qt1050 - add Microchip AT42QT1050 support")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/input/keyboard/qt1050.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/keyboard/qt1050.c b/drivers/input/keyboard/qt1050.c
> index 6b1603cb7515..4debddb13972 100644
> --- a/drivers/input/keyboard/qt1050.c
> +++ b/drivers/input/keyboard/qt1050.c
> @@ -222,7 +222,7 @@ static struct regmap_config qt1050_regmap_config = {
>
> static bool qt1050_identify(struct qt1050_priv *ts)
> {
> - unsigned int val;
> + int val;

This code is checking the wrong thing anyway. It should be:

int ret;

ret = regmap_read(&val);
if (ret)
return false;

regards,
dan carpenter

2019-05-07 08:33:44

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH][next] Input: qt1050: fix less than zero comparison on an unsigned int

Hi Ian,

On 19-05-07 09:21, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Currently the less than zero comparison of val is always false because
> val is an unsigned int. Fix this by making val a signed int.

Thanks for covering that, was an copy 'n' paste failure..
>
> Addresses-Coverity: ("Unsigned compared against zero")
> Fixes: a33ff45923c8 ("Input: qt1050 - add Microchip AT42QT1050 support")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/input/keyboard/qt1050.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/keyboard/qt1050.c b/drivers/input/keyboard/qt1050.c
> index 6b1603cb7515..4debddb13972 100644
> --- a/drivers/input/keyboard/qt1050.c
> +++ b/drivers/input/keyboard/qt1050.c
> @@ -222,7 +222,7 @@ static struct regmap_config qt1050_regmap_config = {
>
> static bool qt1050_identify(struct qt1050_priv *ts)
> {
> - unsigned int val;
> + int val;

I think the proper solution is to add a ret val, because this covers the
success/fail. I will send a patch to fix this.

Regards,
Marco

> /* Read Chip ID */
> regmap_read(ts->regmap, QT1050_CHIP_ID, &val);
> --
> 2.20.1
>
>

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2019-05-07 08:47:22

by Colin King

[permalink] [raw]
Subject: Re: [PATCH][next] Input: qt1050: fix less than zero comparison on an unsigned int

On 07/05/2019 09:32, Marco Felsch wrote:
> Hi Ian,
>
> On 19-05-07 09:21, Colin King wrote:
>> From: Colin Ian King <[email protected]>
>>
>> Currently the less than zero comparison of val is always false because
>> val is an unsigned int. Fix this by making val a signed int.
>
> Thanks for covering that, was an copy 'n' paste failure..
>>
>> Addresses-Coverity: ("Unsigned compared against zero")
>> Fixes: a33ff45923c8 ("Input: qt1050 - add Microchip AT42QT1050 support")
>> Signed-off-by: Colin Ian King <[email protected]>
>> ---
>> drivers/input/keyboard/qt1050.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/input/keyboard/qt1050.c b/drivers/input/keyboard/qt1050.c
>> index 6b1603cb7515..4debddb13972 100644
>> --- a/drivers/input/keyboard/qt1050.c
>> +++ b/drivers/input/keyboard/qt1050.c
>> @@ -222,7 +222,7 @@ static struct regmap_config qt1050_regmap_config = {
>>
>> static bool qt1050_identify(struct qt1050_priv *ts)
>> {
>> - unsigned int val;
>> + int val;
>
> I think the proper solution is to add a ret val, because this covers the
> success/fail. I will send a patch to fix this.

OK, thanks for the follow-up fix.

Regards,
Colin

>
> Regards,
> Marco
>
>> /* Read Chip ID */
>> regmap_read(ts->regmap, QT1050_CHIP_ID, &val);
>> --
>> 2.20.1
>>
>>
>