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
1 changed files with 7 additions and 4 deletions

View File

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