Commit 1768391c authored by Lee Jones's avatar Lee Jones

mfd: tps65911-comparator: Fix an off by one bug

The COMP1 and COMP2 elements are in 0 and 1 respectively so this code is
accessing the wrong elements and one space beyond the end of the array.

The "id" variable is never COMP (0) so that code can be removed.

Fixes: 6851ad3a ("TPS65911: Comparator: Add comparator driver")
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 7169483c
...@@ -22,9 +22,8 @@ ...@@ -22,9 +22,8 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/mfd/tps65910.h> #include <linux/mfd/tps65910.h>
#define COMP 0 #define COMP1 0
#define COMP1 1 #define COMP2 1
#define COMP2 2
/* Comparator 1 voltage selection table in millivolts */ /* Comparator 1 voltage selection table in millivolts */
static const u16 COMP_VSEL_TABLE[] = { static const u16 COMP_VSEL_TABLE[] = {
...@@ -63,9 +62,6 @@ static int comp_threshold_set(struct tps65910 *tps65910, int id, int voltage) ...@@ -63,9 +62,6 @@ static int comp_threshold_set(struct tps65910 *tps65910, int id, int voltage)
int ret; int ret;
u8 index = 0, val; u8 index = 0, val;
if (id == COMP)
return 0;
while (curr_voltage < tps_comp.uV_max) { while (curr_voltage < tps_comp.uV_max) {
curr_voltage = tps_comp.vsel_table[index]; curr_voltage = tps_comp.vsel_table[index];
if (curr_voltage >= voltage) if (curr_voltage >= voltage)
...@@ -89,9 +85,6 @@ static int comp_threshold_get(struct tps65910 *tps65910, int id) ...@@ -89,9 +85,6 @@ static int comp_threshold_get(struct tps65910 *tps65910, int id)
unsigned int val; unsigned int val;
int ret; int ret;
if (id == COMP)
return 0;
ret = tps65910_reg_read(tps65910, tps_comp.reg, &val); ret = tps65910_reg_read(tps65910, tps_comp.reg, &val);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment