Smatch static checker correctly detected an impossible condition because
chip_id was declared as u8, instead of int:
drivers/power/bq25890_charger.c:843 bq25890_probe()
warn: impossible condition '(bq->chip_id < 0) => (0-255 < 0)'
Also, while at it, fix the return value too.
Signed-off-by: Laurentiu Palcu <[email protected]>
Reported-by: Dan Carpenter <[email protected]>
---
drivers/power/bq25890_charger.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/power/bq25890_charger.c b/drivers/power/bq25890_charger.c
index c7b4903..16b7c7bc 100644
--- a/drivers/power/bq25890_charger.c
+++ b/drivers/power/bq25890_charger.c
@@ -99,7 +99,7 @@ struct bq25890_device {
struct regmap *rmap;
struct regmap_field *rmap_fields[F_MAX_FIELDS];
- u8 chip_id;
+ int chip_id;
struct bq25890_init_data init_data;
struct bq25890_state state;
@@ -842,7 +842,7 @@ static int bq25890_probe(struct i2c_client *client,
bq->chip_id = bq25890_field_read(bq, F_PN);
if (bq->chip_id < 0) {
dev_err(dev, "Cannot read chip ID.\n");
- return ret;
+ return bq->chip_id;
}
if (bq->chip_id != BQ25890_ID) {
--
1.9.1
W dniu 02.06.2015 o 19:36, Laurentiu Palcu pisze:
> Smatch static checker correctly detected an impossible condition because
> chip_id was declared as u8, instead of int:
>
> drivers/power/bq25890_charger.c:843 bq25890_probe()
> warn: impossible condition '(bq->chip_id < 0) => (0-255 < 0)'
>
> Also, while at it, fix the return value too.
I wondered whether this should be split into two commits... but actually
returning uninitialized value is not possible now because of the cast, so:
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
Hi Laurentiu,
On Tue, Jun 02, 2015 at 01:36:51PM +0300, Laurentiu Palcu wrote:
> Smatch static checker correctly detected an impossible condition because
> chip_id was declared as u8, instead of int:
>
> drivers/power/bq25890_charger.c:843 bq25890_probe()
> warn: impossible condition '(bq->chip_id < 0) => (0-255 < 0)'
>
> Also, while at it, fix the return value too.
Thanks, queued for 4.2.
-- Sebastian