Re: [patch 2.6.30-rc3] regulator: regression fix

From: Mark Brown
Date: Tue Apr 28 2009 - 04:39:17 EST


On Mon, Apr 27, 2009 at 07:59:40PM -0700, David Brownell wrote:

> By removing the "else", it breaks the handling of fixed-voltage
> regulators ... turning a non-error/non-warning situation into
> a complete init failure, which can then prevent system startup.

The change you're making isn't relevant to what I suspect the actual
problem is (you didn't specify, I may be wrong here).

For fixed voltage regulators either the user will have specified a
voltage constraint (in which case we'll fall into your else case since
cmin ought to be non-zero) or they won't (in which case it's the default
constraint code you added will fill it in). The problem I think you're
seeing is that the code you added to fill in a default constraint for
fixed voltage regulators uses INT_MIN as the minimum contraint value.
This is a negative value and so fails the correctness check further
down.

> You might want to provide a different patch, but ignoring
> this regression doesn't seem practical...

The code that was being fixed was only even in -next for a relatively
brief period of time.

> /* else require explicit machine-level constraints */
> - if (cmin <= 0 || cmax <= 0 || cmax < cmin) {
> + else if (cmin <= 0 || cmax <= 0 || cmax < cmin) {

Yeah, a different patch I think. I'll send one shortly.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/