Re: [PATCH] intel_menlo: max_state is unsigned, invalid test

From: Len Brown
Date: Mon Nov 03 2008 - 23:07:33 EST




On Mon, 3 Nov 2008, Andrew Morton wrote:

> On Wed, 29 Oct 2008 17:06:47 -0400
> roel kluin <roel.kluin@xxxxxxxxx> wrote:
>
> > max_state is unsigned, so the test is invalid.
> >
> > Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> > ---
> > I think max_state can only become -1, no? then probably a different
> > patch is required.
> > I may not be able to respond for a few weeks.
> >
> > diff --git a/drivers/misc/intel_menlow.c b/drivers/misc/intel_menlow.c
> > index e00a275..980171d 100644
> > --- a/drivers/misc/intel_menlow.c
> > +++ b/drivers/misc/intel_menlow.c
> > @@ -121,7 +121,7 @@ static int memory_set_cur_bandwidth(struct thermal_cooling_device *cdev,
> > if (memory_get_int_max_bandwidth(cdev, &max_state))
> > return -EFAULT;
> >
> > - if (max_state < 0 || state > max_state)
> > + if (max_state == -1 || state > max_state)
> > return -EINVAL;
> >
> > arg_list.count = 1;
> >
>
> hm, maybe.
>
> This can only happen if acpi_evaluate_integer(MEMORY_GET_BANDWIDTH)
> returned no-error and a bandwidth of zero (I assume).
>
> Is this a special case which the driver really wanted to handle? If
> so, why is "0" the only bad value which we're checking for? Or is this
> all some big brainfart which should be removed?

Sujith,
Please send me a patch to intel_menlo.c that documents the
legal return values from GTHS.

If 0 is illegal, that is fine, but the upstream driver doesn't
check for it properl (I like Rui's 9/11 patch better than the above,
so andrew, you can drop this patch in any case)

thanks,
-Len

ps. Sujith, shouldn't there be a MAINTAINERS for this driver with your
name on it?



--
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/