Skip to content

Commit

Permalink
regulator: lp8788-buck: Silence build warning
Browse files Browse the repository at this point in the history
This driver use id as array index, thus add bounder checking for id.

This patch fixes below build warning:
drivers/regulator/lp8788-buck.c: In function 'lp8788_buck_probe':
drivers/regulator/lp8788-buck.c:490:8: warning: array subscript is above array bounds [-Warray-bounds]
drivers/regulator/lp8788-buck.c:489:63: warning: array subscript is above array bounds [-Warray-bounds]

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Axel Lin authored and Mark Brown committed Jan 10, 2013
1 parent b9bb091 commit eb758de
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/regulator/lp8788-buck.c
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ static int lp8788_init_dvs(struct platform_device *pdev,
u8 default_dvs_mode[] = { LP8788_BUCK1_DVS_I2C, LP8788_BUCK2_DVS_I2C };

/* no dvs for buck3, 4 */
if (id == BUCK3 || id == BUCK4)
if (id > BUCK2)
return 0;

/* no dvs platform data, then dvs will be selected by I2C registers */
Expand Down Expand Up @@ -505,6 +505,9 @@ static int lp8788_buck_probe(struct platform_device *pdev)
struct regulator_dev *rdev;
int ret;

if (id >= LP8788_NUM_BUCKS)
return -EINVAL;

buck = devm_kzalloc(&pdev->dev, sizeof(struct lp8788_buck), GFP_KERNEL);
if (!buck)
return -ENOMEM;
Expand Down

0 comments on commit eb758de

Please sign in to comment.