summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-12-29 21:41:44 +0300
committerTakashi Iwai <tiwai@suse.de>2014-12-30 18:41:55 +0300
commit599ee3291ae88700749e2910a11d1c0f0532355e (patch)
tree5ac39478682e3aa5d33d47bc871726c7d4578822
parentcd9978f1d3dbb9596a7ab9c652cb0d9b355489b5 (diff)
downloadlinux-599ee3291ae88700749e2910a11d1c0f0532355e.tar.xz
ALSA: pcm: Use __ffs() instead of ffs() in snd_mask_min()
The difference between __ffs and ffs is that ffs will return a one based index whereas __ffs will return a zero based index. Furthermore ffs will check if the passed value is zero and return zero in that case, whereas __ffs behavior is undefined if the passed parameter is 0. Since we already check if the mask is 0 before calling ffs and also subtract 1 from the result __ffs is the better choice. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--include/sound/pcm_params.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/sound/pcm_params.h b/include/sound/pcm_params.h
index 042049bab0b9..c99e20b0c4c9 100644
--- a/include/sound/pcm_params.h
+++ b/include/sound/pcm_params.h
@@ -92,7 +92,7 @@ static inline unsigned int snd_mask_min(const struct snd_mask *mask)
int i;
for (i = 0; i < SNDRV_MASK_SIZE; i++) {
if (mask->bits[i])
- return ffs(mask->bits[i]) - 1 + (i << 5);
+ return __ffs(mask->bits[i]) + (i << 5);
}
return 0;
}