Messages in this thread | | | Date | Tue, 22 Sep 2015 09:35:05 -0700 | From | Viresh Kumar <> | Subject | Re: [PATCH] PM / OPP: of_property_count_u32_elems() can return errors |
| |
On 19-09-15, 15:22, Stephen Boyd wrote: > On 09/18, Viresh Kumar wrote: > > On 17-09-15, 11:13, Stephen Boyd wrote: > > > > + count = of_property_count_u32_elems(opp->np, "opp-microvolt"); > > > > + if (count < 0) { > > > > > > We can't test count for -EINVAL to detect the missing property > > > because -EINVAL is also returned on a non-multiple of u32 length > > > property? Maybe we shouldn't worry about that case and turn > > > -EINVAL into 0. > > > > So you are saying that we go ahead without regulators if a incorrect > > values are present in opp-microvolt? i.e. even if the length property > > was invalid, we return 0 from this function. > > > > The problem here is that we will try changing the frequency without > > changing the regulator in that case, and it might not be safe for the > > platform, isn't it? > > > > Do we care if a platform has changed the length of the property > to something that isn't a multiple of u32? That sounds very rare, > that's all. I agree it's a bug.
Hmm, okay.. I got it now.
Maybe we can update of_property_count_u32_elems() to return zero in that case, but that might not be the appropriate return value.
It *can* be confused against the case where the user has written an empty property. But even in that case we are returning -ENODATA instead of 0 :)
-- viresh
| |