On Fri, Dec 17, 2010 at 02:44:28PM -0800, Saravana Kannan wrote: > static int regulator_check_consumers(struct regulator_dev *rdev, > + struct regulator *ignore, > int *min_uV, int *max_uV) This feels really invasive, and prone to robustness issues as we're just randomly not checking one of the consumers on a single call, meaning we skip some checking some of the time. It's not going to make the code more maintainable. > - regulator->min_uV = min_uV; > - regulator->max_uV = max_uV; > - > - ret = regulator_check_consumers(rdev, &min_uV, &max_uV); > + ret = regulator_check_consumers(rdev, regulator, &min_uV, &max_uV); > if (ret < 0) > goto out; > > ret = _regulator_do_set_voltage(rdev, min_uV, max_uV); > + if (!ret) { > + regulator->min_uV = min_uV; > + regulator->max_uV = max_uV; > + } If you're going to do something probably unwinding the assignment on error would cover it. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html