ALSA: test off by one in setsamplerate()
Roel Kluin [Sun, 27 Dec 2009 21:26:47 +0000 (22:26 +0100)]
With `while (i++ < MAX_WRITE_RETRY)' i reaches MAX_WRITE_RETRY + 1 after the loop

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

sound/pci/riptide/riptide.c

index b5ca02e..e66ef2b 100644 (file)
@@ -1058,7 +1058,7 @@ setsamplerate(struct cmdif *cif, unsigned char *intdec, unsigned int rate)
                                 rptr.retwords[2] != M &&
                                 rptr.retwords[3] != N &&
                                 i++ < MAX_WRITE_RETRY);
-                       if (i == MAX_WRITE_RETRY) {
+                       if (i > MAX_WRITE_RETRY) {
                                snd_printdd("sent samplerate %d: %d failed\n",
                                            *intdec, rate);
                                return -EIO;