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

Commit 7cbf41a2 authored by Xiaojun Sang's avatar Xiaojun Sang
Browse files

ASoC: soundwire: add null check before pointer dereference.



Pointer to soundwire register map returned from
dev_get_name may be null.
Add null check before dereference.

CRs-Fixed: 1059492
Change-Id: I0d96a64b866f4ef10e237e8780fefbd8139a878d
Signed-off-by: default avatarXiaojun Sang <xsang@codeaurora.org>
parent 4e2a8a0f
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -28,11 +28,16 @@ static int regmap_swr_gather_write(void *context,
	struct device *dev = context;
	struct swr_device *swr = to_swr_device(dev);
	struct regmap *map = dev_get_regmap(dev, NULL);
	size_t addr_bytes = map->format.reg_bytes;
	size_t addr_bytes;
	size_t val_bytes;
	int i, ret = 0;
	u16 reg_addr = 0;

	if (map == NULL) {
		dev_err(dev, "%s: regmap is NULL\n", __func__);
		return -EINVAL;
	}
	addr_bytes = map->format.reg_bytes;
	if (swr == NULL) {
		dev_err(dev, "%s: swr device is NULL\n", __func__);
		return -EINVAL;
@@ -154,10 +159,15 @@ static int regmap_swr_read(void *context,
	struct device *dev = context;
	struct swr_device *swr = to_swr_device(dev);
	struct regmap *map = dev_get_regmap(dev, NULL);
	size_t addr_bytes = map->format.reg_bytes;
	size_t addr_bytes;
	int ret = 0;
	u16 reg_addr = 0;

	if (map == NULL) {
		dev_err(dev, "%s: regmap is NULL\n", __func__);
		return -EINVAL;
	}
	addr_bytes = map->format.reg_bytes;
	if (swr == NULL) {
		dev_err(dev, "%s: swr is NULL\n", __func__);
		return -EINVAL;