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