Unverified Commit 29528c8e authored by Shenghao Ding's avatar Shenghao Ding Committed by Mark Brown
Browse files

ASoC: tas2781: fix getting the wrong device number



The return value of device_property_read_u32_array used for getting the
property is the status instead of the number of the property.

Fixes: ef3bcde7 ("ASoC: tas2781: Add tas2781 driver")
Signed-off-by: default avatarShenghao Ding <shenghao-ding@ti.com>
Link: https://patch.msgid.link/20251107054959.950-1-shenghao-ding@ti.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3dc8c733
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1957,7 +1957,8 @@ static void tasdevice_parse_dt(struct tasdevice_priv *tas_priv)
{
	struct i2c_client *client = (struct i2c_client *)tas_priv->client;
	unsigned int dev_addrs[TASDEVICE_MAX_CHANNELS];
	int i, ndev = 0;
	int ndev = 0;
	int i, rc;

	if (tas_priv->isacpi) {
		ndev = device_property_read_u32_array(&client->dev,
@@ -1968,8 +1969,12 @@ static void tasdevice_parse_dt(struct tasdevice_priv *tas_priv)
		} else {
			ndev = (ndev < ARRAY_SIZE(dev_addrs))
				? ndev : ARRAY_SIZE(dev_addrs);
			ndev = device_property_read_u32_array(&client->dev,
			rc = device_property_read_u32_array(&client->dev,
				"ti,audio-slots", dev_addrs, ndev);
			if (rc != 0) {
				ndev = 1;
				dev_addrs[0] = client->addr;
			}
		}

		tas_priv->irq =