Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4f078d8 authored by Dimitris Papastamos's avatar Dimitris Papastamos Committed by Mark Brown
Browse files

ASoC: soc-core: Fix null pointer dereference



In case the codec driver did not provide a read/write function,
codec->driver->read|write will be NULL.  Ensure that we use the one
specified in codec->read|write to avoid oopsing when we access
the debugfs entries.  This is achieved by using snd_soc_read() and
snd_soc_write().

Signed-off-by: default avatarDimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 5a4cfce7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ static ssize_t soc_codec_reg_show(struct snd_soc_codec *codec, char *buf)
			 * the register being volatile and the device being
			 * powered off.
			 */
			ret = codec->driver->read(codec, i);
			ret = snd_soc_read(codec, i);
			if (ret >= 0)
				count += snprintf(buf + count,
						  PAGE_SIZE - count,
@@ -228,7 +228,7 @@ static ssize_t codec_reg_write_file(struct file *file,
		start++;
	if (strict_strtoul(start, 16, &value))
		return -EINVAL;
	codec->driver->write(codec, reg, value);
	snd_soc_write(codec, reg, value);
	return buf_size;
}