mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
sound/oss/trident.c: fix incorrect test in trident_ac97_set()
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@tiscali.nl> Reviewed-by: Ray Lee <ray-lk@madrabbit.org> Acked-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
67a3b2b6ce
commit
be6c28e62e
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user