All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: kr494167@gmail.com
Cc: azpijr@gmail.com, dlechner@baylibre.com, nuno.sa@analog.com,
	andy@kernel.org, linux-iio@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] iio: light: apds9999: register standby action after enabling device
Date: Sun, 26 Jul 2026 20:50:30 +0100	[thread overview]
Message-ID: <20260726205030.4ca33bb8@jic23-huawei> (raw)
In-Reply-To: <20260724025802.13499-1-kr494167@gmail.com>

On Fri, 24 Jul 2026 08:28:02 +0530
kr494167@gmail.com wrote:

> From: Surendra Singh Chouhan <kr494167@gmail.com>
> 
> apds9999_init() called devm_add_action_or_reset() at the start
> of the function, before register configuration and before enabling the
> device via APDS9999_MAIN_CTRL_LS_EN.
> 
> If register initialization failed during apds9999_init() (e.g. SMBus
> write failures on LS_MEAS_RATE or LS_GAIN), devm_add_action_or_reset()
> immediately triggered apds9999_standby(), writing to the control
> register on a device that failed initialization and was never enabled.
> 
> Fix this by registering devm_add_action_or_reset() only after
> APDS9999_MAIN_CTRL_LS_EN is successfully written to the control
> register.
> 
> Fixes: 5f9363e52300 ("iio: light: add support for APDS9999 sensor")

Given the side effect of this is write that is harmless, I don't
think the fixes tag is justified. 

Having said that this is a logical improvement.

I would like Jose to have taken a look though before I consider picking
it up so let us leave it on list for now.

Thanks,

Jonathan

> Signed-off-by: Surendra Singh Chouhan <kr494167@gmail.com>
> ---
>  drivers/iio/light/apds9999.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/iio/light/apds9999.c b/drivers/iio/light/apds9999.c
> index 43fa9992c9c2..62620c4a2fbc 100644
> --- a/drivers/iio/light/apds9999.c
> +++ b/drivers/iio/light/apds9999.c
> @@ -100,10 +100,6 @@ static int apds9999_init(struct apds9999_data *data)
>  	u8 regval;
>  	int ret;
>  
> -	ret = devm_add_action_or_reset(dev, apds9999_standby, client);
> -	if (ret)
> -		return ret;
> -
>  	guard(mutex)(&data->lock);
>  
>  	regval = FIELD_PREP(APDS9999_LS_RES_MASK, APDS9999_RES_18BIT) |
> @@ -121,8 +117,12 @@ static int apds9999_init(struct apds9999_data *data)
>  		return ret;
>  	data->als_gain_idx = APDS9999_GAIN_3X;
>  
> -	return i2c_smbus_write_byte_data(client, APDS9999_REG_MAIN_CTRL,
> -					 APDS9999_MAIN_CTRL_LS_EN);
> +	ret = i2c_smbus_write_byte_data(client, APDS9999_REG_MAIN_CTRL,
> +					APDS9999_MAIN_CTRL_LS_EN);
> +	if (ret)
> +		return ret;
> +
> +	return devm_add_action_or_reset(dev, apds9999_standby, client);
>  }
>  
>  static int apds9999_read_channel(struct apds9999_data *data, u8 reg,


  reply	other threads:[~2026-07-26 19:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-24  2:58 [PATCH] iio: light: apds9999: register standby action after enabling device kr494167
2026-07-26 19:50 ` Jonathan Cameron [this message]
2026-08-23 22:22   ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260726205030.4ca33bb8@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=andy@kernel.org \
    --cc=azpijr@gmail.com \
    --cc=dlechner@baylibre.com \
    --cc=kr494167@gmail.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nuno.sa@analog.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.