lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 8 Jan 2021 10:10:43 +0000
From:   Adam Thomson <Adam.Thomson.Opensource@...semi.com>
To:     Xu Wang <vulab@...as.ac.cn>,
        Support Opensource <Support.Opensource@...semi.com>,
        "lgirdwood@...il.com" <lgirdwood@...il.com>,
        "broonie@...nel.org" <broonie@...nel.org>,
        "perex@...ex.cz" <perex@...ex.cz>,
        "tiwai@...e.com" <tiwai@...e.com>,
        "alsa-devel@...a-project.org" <alsa-devel@...a-project.org>
CC:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] ASoC: codecs: da*: Remove redundant null check before
 clk_prepare_enable/clk_disable_unprepare

On 08 January 2021 08:53, Xu Wang wrote:

> Because clk_prepare_enable() and clk_disable_unprepare() already checked
> NULL clock parameter, so the additional checks are unnecessary, just
> remove them.
> 
> Signed-off-by: Xu Wang <vulab@...as.ac.cn>
> ---
>  sound/soc/codecs/da7218.c     | 13 +++++--------
>  sound/soc/codecs/da7219-aad.c | 19 ++++++++-----------
>  sound/soc/codecs/da7219.c     |  3 +--
>  3 files changed, 14 insertions(+), 21 deletions(-)
> 
> diff --git a/sound/soc/codecs/da7218.c b/sound/soc/codecs/da7218.c
> index 2bfafbe9e3dc..324d95e3b48a 100644
> --- a/sound/soc/codecs/da7218.c
> +++ b/sound/soc/codecs/da7218.c
> @@ -2582,12 +2582,10 @@ static int da7218_set_bias_level(struct
> snd_soc_component *component,
>  	case SND_SOC_BIAS_PREPARE:
>  		/* Enable MCLK for transition to ON state */
>  		if (snd_soc_component_get_bias_level(component) ==
> SND_SOC_BIAS_STANDBY) {
> -			if (da7218->mclk) {
> -				ret = clk_prepare_enable(da7218->mclk);
> -				if (ret) {
> -					dev_err(component->dev, "Failed to
> enable mclk\n");
> -					return ret;
> -				}
> +			ret = clk_prepare_enable(da7218->mclk);
> +			if (ret) {
> +				dev_err(component->dev, "Failed to enable
> mclk\n");
> +				return ret;
>  			}
>  		}
> 
> @@ -2605,8 +2603,7 @@ static int da7218_set_bias_level(struct
> snd_soc_component *component,
>  					    DA7218_LDO_EN_MASK);
>  		} else {
>  			/* Remove MCLK */
> -			if (da7218->mclk)
> -				clk_disable_unprepare(da7218->mclk);
> +			clk_disable_unprepare(da7218->mclk);
>  		}
>  		break;
>  	case SND_SOC_BIAS_OFF:
> diff --git a/sound/soc/codecs/da7219-aad.c b/sound/soc/codecs/da7219-aad.c
> index 48081d71c22c..fa61cfc8e50c 100644
> --- a/sound/soc/codecs/da7219-aad.c
> +++ b/sound/soc/codecs/da7219-aad.c
> @@ -123,15 +123,13 @@ static void da7219_aad_hptest_work(struct work_struct
> *work)
>  	mutex_lock(&da7219->pll_lock);
> 
>  	/* Ensure MCLK is available for HP test procedure */
> -	if (da7219->mclk) {
> -		ret = clk_prepare_enable(da7219->mclk);
> -		if (ret) {
> -			dev_err(component->dev, "Failed to enable mclk -
> %d\n", ret);
> -			mutex_unlock(&da7219->pll_lock);
> -			mutex_unlock(&da7219->ctrl_lock);
> -			snd_soc_dapm_mutex_unlock(dapm);
> -			return;
> -		}
> +	ret = clk_prepare_enable(da7219->mclk);
> +	if (ret) {
> +		dev_err(component->dev, "Failed to enable mclk - %d\n", ret);
> +		mutex_unlock(&da7219->pll_lock);
> +		mutex_unlock(&da7219->ctrl_lock);
> +		snd_soc_dapm_mutex_unlock(dapm);
> +		return;
>  	}
> 
>  	/*
> @@ -318,8 +316,7 @@ static void da7219_aad_hptest_work(struct work_struct
> *work)
>  		da7219_set_pll(component, DA7219_SYSCLK_MCLK, 0);
> 
>  	/* Remove MCLK, if previously enabled */
> -	if (da7219->mclk)
> -		clk_disable_unprepare(da7219->mclk);
> +	clk_disable_unprepare(da7219->mclk);
> 
>  	mutex_unlock(&da7219->pll_lock);
>  	mutex_unlock(&da7219->ctrl_lock);
> diff --git a/sound/soc/codecs/da7219.c b/sound/soc/codecs/da7219.c
> index e9b45daec0ca..50307cc9d640 100644
> --- a/sound/soc/codecs/da7219.c
> +++ b/sound/soc/codecs/da7219.c
> @@ -1826,8 +1826,7 @@ static int da7219_set_bias_level(struct
> snd_soc_component *component,
> 
>  		if (snd_soc_component_get_bias_level(component) ==
> SND_SOC_BIAS_PREPARE) {
>  			/* Remove MCLK */
> -			if (da7219->mclk)
> -				clk_disable_unprepare(da7219->mclk);
> +			clk_disable_unprepare(da7219->mclk);

You seem to have missed the change for clk_prepare_enable() usage in the
same function. Also as the above is now a single line if statement, you can
remove the brackets.

In addition, the normal approach would be to split the changes into separate
patches per driver, just so it's cleaner.

>  		}
>  		break;
>  	case SND_SOC_BIAS_OFF:
> --
> 2.17.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ