|
@@ -548,6 +548,15 @@ struct rsnd_dai *rsnd_rdai_get(struct rsnd_priv *priv, int id)
|
|
|
return priv->rdai + id;
|
|
|
}
|
|
|
|
|
|
+static struct snd_soc_dai_driver
|
|
|
+*rsnd_daidrv_get(struct rsnd_priv *priv, int id)
|
|
|
+{
|
|
|
+ if ((id < 0) || (id >= rsnd_rdai_nr(priv)))
|
|
|
+ return NULL;
|
|
|
+
|
|
|
+ return priv->daidrv + id;
|
|
|
+}
|
|
|
+
|
|
|
#define rsnd_dai_to_priv(dai) snd_soc_dai_get_drvdata(dai)
|
|
|
static struct rsnd_dai *rsnd_dai_to_rdai(struct snd_soc_dai *dai)
|
|
|
{
|
|
@@ -1033,7 +1042,7 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv,
|
|
|
int io_i;
|
|
|
|
|
|
rdai = rsnd_rdai_get(priv, dai_i);
|
|
|
- drv = priv->daidrv + dai_i;
|
|
|
+ drv = rsnd_daidrv_get(priv, dai_i);
|
|
|
io_playback = &rdai->playback;
|
|
|
io_capture = &rdai->capture;
|
|
|
|