If no id is matched, the mid pointer is not NULL in current implementation. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> --- v2: It seems we don't need to check strlen(mid->name) here. If there is a match, strlen(mid->name) is always not 0. If ther is no match, comparing variable i with ARRAY_SIZE(ucd9000_id) or ARRAY_SIZE(ucd9200_id) is enough. drivers/hwmon/pmbus/ucd9000.c | 3 +-- drivers/hwmon/pmbus/ucd9200.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/pmbus/ucd9000.c b/drivers/hwmon/pmbus/ucd9000.c index 285bb15..a2d4a72 100644 --- a/drivers/hwmon/pmbus/ucd9000.c +++ b/drivers/hwmon/pmbus/ucd9000.c @@ -141,13 +141,12 @@ static int ucd9000_probe(struct i2c_client *client, block_buffer[ret] = '\0'; dev_info(&client->dev, "Device ID %s\n", block_buffer); - mid = NULL; for (i = 0; i < ARRAY_SIZE(ucd9000_id); i++) { mid = &ucd9000_id[i]; if (!strncasecmp(mid->name, block_buffer, strlen(mid->name))) break; } - if (!mid || !strlen(mid->name)) { + if (i == ARRAY_SIZE(ucd9000_id)) { dev_err(&client->dev, "Unsupported device\n"); return -ENODEV; } diff --git a/drivers/hwmon/pmbus/ucd9200.c b/drivers/hwmon/pmbus/ucd9200.c index 786f6cd..a72e55e 100644 --- a/drivers/hwmon/pmbus/ucd9200.c +++ b/drivers/hwmon/pmbus/ucd9200.c @@ -68,13 +68,12 @@ static int ucd9200_probe(struct i2c_client *client, block_buffer[ret] = '\0'; dev_info(&client->dev, "Device ID %s\n", block_buffer); - mid = NULL; for (i = 0; i < ARRAY_SIZE(ucd9200_id); i++) { mid = &ucd9200_id[i]; if (!strncasecmp(mid->name, block_buffer, strlen(mid->name))) break; } - if (!mid || !strlen(mid->name)) { + if (i == ARRAY_SIZE(ucd9200_id)) { dev_err(&client->dev, "Unsupported device\n"); return -ENODEV; } -- 1.7.4.1 _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors