Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ enum {
struct pv88090_regulator {
	struct regulator_desc desc;
	/* Current limiting */
	unsigned	n_current_limits;
	unsigned int n_current_limits;
	const int	*current_limits;
	unsigned int limit_mask;
	unsigned int conf;
@@ -398,9 +398,14 @@ static int pv88090_i2c_probe(struct i2c_client *i2c,
				return ret;

			range = (range >>
				 (PV88080_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
				PV88080_BUCK_VRANGE_GAIN_MASK;
				 (PV88090_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
				PV88090_BUCK_VRANGE_GAIN_MASK;
			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_buck_vol[index].min_uV;
+4 −4
Original line number Diff line number Diff line
@@ -89,10 +89,10 @@
#define PV88090_BUCK_VDAC_RANGE_2			0x01

/* PV88090_REG_BUCK_FOLD_RANGE (addr=0x61) */
#define PV88080_BUCK_VRANGE_GAIN_SHIFT			3
#define PV88080_BUCK_VRANGE_GAIN_MASK			0x01
#define PV88090_BUCK_VRANGE_GAIN_SHIFT			3
#define PV88090_BUCK_VRANGE_GAIN_MASK			0x01

#define PV88080_BUCK_VRANGE_GAIN_1			0x00
#define PV88080_BUCK_VRANGE_GAIN_2			0x01
#define PV88090_BUCK_VRANGE_GAIN_1			0x00
#define PV88090_BUCK_VRANGE_GAIN_2			0x01

#endif	/* __PV88090_REGISTERS_H__ */