ALSA: hdsp: silence and underflow warning
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 21 Aug 2015 11:25:34 +0000 (14:25 +0300)
committerTakashi Iwai <tiwai@suse.de>
Fri, 21 Aug 2015 12:12:45 +0000 (14:12 +0200)
I believe this probably cannot happen, as the code suggests.  There
would have to be an kcontrol->index.id which was zero, otherwise this
would be prevented in snd_ctl_find_id().  But snd_BUG_ON() is just a
WARN() or a no-op so static checkers complain that we keep on going with
a negative offset.  Let's just handle the error as well as printing
a warning.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdsp.c

index c19e021ccf668af1aadec6377b1d3e1ebca9b090..468a95cdce70e74b5e5ce15369cc343bbdda419b 100644 (file)
@@ -2806,7 +2806,8 @@ static int snd_hdsp_get_adat_sync_check(struct snd_kcontrol *kcontrol, struct sn
        struct hdsp *hdsp = snd_kcontrol_chip(kcontrol);
 
        offset = ucontrol->id.index - 1;
-       snd_BUG_ON(offset < 0);
+       if (snd_BUG_ON(offset < 0))
+               return -EINVAL;
 
        switch (hdsp->io_type) {
        case Digiface: