Commit 8986a119 authored by Eric Jeong's avatar Eric Jeong Committed by Mark Brown

regulator: pv88090: Exception handling for out of bounds

This is a patch for exception handlding that the index of array is
out of bounds. And the definitions have been updated to use
proper device name.
Signed-off-by: default avatarEric Jeong <eric.jeong.opensource@diasemi.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 5771a8c0
...@@ -43,7 +43,7 @@ enum { ...@@ -43,7 +43,7 @@ enum {
struct pv88090_regulator { struct pv88090_regulator {
struct regulator_desc desc; struct regulator_desc desc;
/* Current limiting */ /* Current limiting */
unsigned n_current_limits; unsigned int n_current_limits;
const int *current_limits; const int *current_limits;
unsigned int limit_mask; unsigned int limit_mask;
unsigned int conf; unsigned int conf;
...@@ -398,9 +398,14 @@ static int pv88090_i2c_probe(struct i2c_client *i2c, ...@@ -398,9 +398,14 @@ static int pv88090_i2c_probe(struct i2c_client *i2c,
return ret; return ret;
range = (range >> range = (range >>
(PV88080_BUCK_VRANGE_GAIN_SHIFT + i - 1)) & (PV88090_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
PV88080_BUCK_VRANGE_GAIN_MASK; PV88090_BUCK_VRANGE_GAIN_MASK;
index = ((range << 1) | conf2); index = ((range << 1) | conf2);
if (index > PV88090_ID_BUCK3) {
dev_err(chip->dev,
"Invalid index(%d)\n", index);
return -EINVAL;
}
pv88090_regulator_info[i].desc.min_uV pv88090_regulator_info[i].desc.min_uV
= pv88090_buck_vol[index].min_uV; = pv88090_buck_vol[index].min_uV;
......
...@@ -89,10 +89,10 @@ ...@@ -89,10 +89,10 @@
#define PV88090_BUCK_VDAC_RANGE_2 0x01 #define PV88090_BUCK_VDAC_RANGE_2 0x01
/* PV88090_REG_BUCK_FOLD_RANGE (addr=0x61) */ /* PV88090_REG_BUCK_FOLD_RANGE (addr=0x61) */
#define PV88080_BUCK_VRANGE_GAIN_SHIFT 3 #define PV88090_BUCK_VRANGE_GAIN_SHIFT 3
#define PV88080_BUCK_VRANGE_GAIN_MASK 0x01 #define PV88090_BUCK_VRANGE_GAIN_MASK 0x01
#define PV88080_BUCK_VRANGE_GAIN_1 0x00 #define PV88090_BUCK_VRANGE_GAIN_1 0x00
#define PV88080_BUCK_VRANGE_GAIN_2 0x01 #define PV88090_BUCK_VRANGE_GAIN_2 0x01
#endif /* __PV88090_REGISTERS_H__ */ #endif /* __PV88090_REGISTERS_H__ */
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