[PATCH] ASoC: codecs: Fix rumtime PM imbalance in tas2552_probe

Mark Brown broonie at kernel.org
Wed Apr 7 14:51:47 CEST 2021


On Wed, Apr 07, 2021 at 02:54:00PM +0800, Dinghao Liu wrote:

> -	pm_runtime_set_active(&client->dev);
> -	pm_runtime_set_autosuspend_delay(&client->dev, 1000);
> -	pm_runtime_use_autosuspend(&client->dev);
> -	pm_runtime_enable(&client->dev);
> -	pm_runtime_mark_last_busy(&client->dev);
> -	pm_runtime_put_sync_autosuspend(&client->dev);
> -
>  	dev_set_drvdata(&client->dev, data);
>  
>  	ret = devm_snd_soc_register_component(&client->dev,
> @@ -733,6 +726,13 @@ static int tas2552_probe(struct i2c_client *client,
>  	if (ret < 0)
>  		dev_err(&client->dev, "Failed to register component: %d\n", ret);
>  
> +	pm_runtime_set_active(&client->dev);
> +	pm_runtime_set_autosuspend_delay(&client->dev, 1000);
> +	pm_runtime_use_autosuspend(&client->dev);

It's not clear to me that just moving the operations after the
registration is a good fix - once the component is registered we could
start trying to do runtime PM operations with it which AFAIR won't count
references and so on properly if runtime PM isn't enabled so if we later
enable runtime PM we might have the rest of the code in a confused state
about what's going on.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20210407/74d49bc7/attachment.sig>


More information about the Alsa-devel mailing list