Bladeren bron

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>
Mark Brown 13 jaren geleden
bovenliggende
commit
9dfdd5abcf
1 gewijzigde bestanden met toevoegingen van 7 en 4 verwijderingen
  1. 7 4
      sound/soc/soc-io.c

+ 7 - 4
sound/soc/soc-io.c

@@ -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: