Re: [PATCH] fix incorrect test in trident_ac97_set(); sound/oss/trident.c

From: Muli Ben-Yehuda
Date: Thu Nov 08 2007 - 01:06:49 EST


On Wed, Nov 07, 2007 at 11:04:41AM -0800, Ray Lee wrote:

> On Nov 7, 2007 10:50 AM, Roel Kluin <12o3l@xxxxxxxxxx> wrote:

> > If count reaches zero, the loop ends, but the postfix decrement
> > still subtracts: testing for 'count == 0' will not work.
> >
> > Signed-off-by: Roel Kluin <12o3l@xxxxxxxxxx>
> > ---
> > diff --git a/sound/oss/trident.c b/sound/oss/trident.c
> > index 96adc47..6959ee1 100644
> > --- a/sound/oss/trident.c
> > +++ b/sound/oss/trident.c
> > @@ -2935,7 +2935,7 @@ trident_ac97_set(struct ac97_codec *codec, u8 reg, u16 val)
> > do {
> > if ((inw(TRID_REG(card, address)) & busy) == 0)
> > break;
> > - } while (count--);
> > + } while (--count);
> >
> > data |= (mask | (reg & AC97_REG_ADDR));
> >
> > @@ -2996,7 +2996,7 @@ trident_ac97_get(struct ac97_codec *codec, u8 reg)
> > data = inl(TRID_REG(card, address));
> > if ((data & busy) == 0)
> > break;
> > - } while (count--);
> > + } while (--count);
> >
> > spin_unlock_irqrestore(&card->lock, flags);
> >
> > if (count == 0) {
> >
>
> Thanks, much better. In the future, please also CC: the appropriate
> maintainers, or Andrew Morton if you're at a loss...

Indeed.

> Reviewed-by: Ray Lee <ray-lk@xxxxxxxxxxxxx>

Acked-by: Muli Ben-Yehuda <muli@xxxxxxxxxx>

Andrew, can you please push to Linus?

Thanks,
Muli
-
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/