Merge tag 'asoc-v3.13-5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[sfrench/cifs-2.6.git] / sound / soc / sh / rcar / scu.c
index 1ab1bce6be7f644affa15b4855b3f2f398d125d9..fa8fa15860b9bda89dc5d3af73c85a5c4f076f15 100644 (file)
@@ -68,7 +68,7 @@ static int rsnd_scu_set_route(struct rsnd_priv *priv,
                return 0;
 
        id = rsnd_mod_id(mod);
-       if (id < 0 || id > ARRAY_SIZE(routes))
+       if (id < 0 || id >= ARRAY_SIZE(routes))
                return -EIO;
 
        /*
@@ -198,7 +198,8 @@ static struct rsnd_mod_ops rsnd_scu_ops = {
 
 struct rsnd_mod *rsnd_scu_mod_get(struct rsnd_priv *priv, int id)
 {
-       BUG_ON(id < 0 || id >= rsnd_scu_nr(priv));
+       if (WARN_ON(id < 0 || id >= rsnd_scu_nr(priv)))
+               id = 0;
 
        return &((struct rsnd_scu *)(priv->scu) + id)->mod;
 }