ALSA: USB: 6fire: signedness bug in usb6fire_pcm_prepare()
rt->rate is an unsigned char so it's never equal to -1. It's not a huge problem because the invalid rate is caught inside the call to usb6fire_pcm_set_rate() which returns -EINVAL. But if we fix the test then it prints out the correct error message so that's good. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
ea18e137ba
commit
8121d91c02
|
@ -493,13 +493,12 @@ static int usb6fire_pcm_prepare(struct snd_pcm_substream *alsa_sub)
|
|||
sub->period_off = 0;
|
||||
|
||||
if (rt->stream_state == STREAM_DISABLED) {
|
||||
rt->rate = -1;
|
||||
for (i = 0; i < ARRAY_SIZE(rates); i++)
|
||||
if (alsa_rt->rate == rates[i]) {
|
||||
rt->rate = i;
|
||||
break;
|
||||
}
|
||||
if (rt->rate == -1) {
|
||||
if (i == ARRAY_SIZE(rates)) {
|
||||
mutex_unlock(&rt->stream_mutex);
|
||||
snd_printk("invalid rate %d in prepare.\n",
|
||||
alsa_rt->rate);
|
||||
|
|
Loading…
Reference in New Issue