regulator: 88pm800: Fix checking whether num_regulator is valid
PATCH 1/1 regulator: 88pm800: Fix checking whether num_regulator is valid
The code to check whether num_regulator is valid is wrong because it should iterate all array entries rather than break from the for loop if pdata->regulators[i] is NULL.
Signed-off-by Axel Lin <[email protected]>
--- drivers/regulator/88pm800.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/regulator/88pm800.c +6 -3
@@ -299,10 +299,13 @@ static int pm800_regulator_probe(struct platform_device *pdev)return -ENODEV ; } }else if (pdata->num_regulators) { -/* Check whether num_regulator is valid. */ unsigned int count =0 ; -for (i =0 ; pdata->regulators[i]; i++) - count++; + +/* Check whether num_regulator is valid. */ +for (i =0 ;ARRAY_SIZE (pdata->regulators); i++) { +if (pdata->regulators[i]) + count++; + }if (count != pdata->num_regulators)return -EINVAL ; }else {
Signature · 1 line
1.8.1.2
Quoted 3 lines · Axel Lin
The code to check whether
num_regulatoris valid is wrong because it should iterate all array entries rather than break from the for loop if pdata->regulators[i] is NULL.
Applied, thanks.