瀏覽代碼

regulator: 88pm8607: Fix off-by-one value range checking in the case of no id is matched

In the case of no id is matched, the variable i is equal to
ARRAY_SIZE(pm8607_regulator_info).

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Axel Lin 14 年之前
父節點
當前提交
99cd25ce10
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/regulator/88pm8607.c

+ 1 - 1
drivers/regulator/88pm8607.c

@@ -412,7 +412,7 @@ static int __devinit pm8607_regulator_probe(struct platform_device *pdev)
 		if (info->desc.id == res->start)
 		if (info->desc.id == res->start)
 			break;
 			break;
 	}
 	}
-	if ((i < 0) || (i > PM8607_ID_RG_MAX)) {
+	if (i == ARRAY_SIZE(pm8607_regulator_info)) {
 		dev_err(&pdev->dev, "Failed to find regulator %llu\n",
 		dev_err(&pdev->dev, "Failed to find regulator %llu\n",
 			(unsigned long long)res->start);
 			(unsigned long long)res->start);
 		return -EINVAL;
 		return -EINVAL;