ASoC: io: Don't dereference regmap if we failed to get one

Avoids a crash in invalid configurations.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
This commit is contained in:
Mark Brown 2012-06-22 12:40:52 +01:00
parent 62d4a4b99d
commit 9dfdd5abcf

View file

@ -145,10 +145,13 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
if (!codec->control_data) if (!codec->control_data)
codec->control_data = dev_get_regmap(codec->dev, NULL); codec->control_data = dev_get_regmap(codec->dev, NULL);
ret = regmap_get_val_bytes(codec->control_data); if (codec->control_data) {
/* Errors are legitimate for non-integer byte multiples */ ret = regmap_get_val_bytes(codec->control_data);
if (ret > 0) /* Errors are legitimate for non-integer byte
codec->val_bytes = ret; * multiples */
if (ret > 0)
codec->val_bytes = ret;
}
break; break;
default: default: