On Nov 7, 2007 10:50 AM, Roel Kluin <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> > --- > 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... Reviewed-by: Ray Lee <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/