[PATCH 2/3] i3c: master: Add missing runtime PM get in dev_nack_retry_count_store()

sashiko-bot at kernel.org sashiko-bot at kernel.org
Tue Jun 16 04:51:44 PDT 2026


Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] Hardware configuration, including the NACK retry count, is lost across runtime suspend/resume cycles.
--

commit c41eb9cead24507098d7a57db0101da0e5c68c34
Author: Adrian Hunter <adrian.hunter at intel.com>

i3c: master: Add missing runtime PM get in dev_nack_retry_count_store()

Ensure the device is runtime resumed while updating the retry
configuration to avoid accessing the controller while suspended.

> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index 05ea9e3c4d46f..a24944047e30c 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c

[ ... ]

> @@ -767,12 +767,18 @@ static ssize_t dev_nack_retry_count_store(struct device *dev,
>  	i3c_bus_maintenance_lock(i3cbus);
>  	ret = master->ops->set_dev_nack_retry(master, val);
>  	if (!ret)
>  		master->dev_nack_retry_count = val;
>  	i3c_bus_maintenance_unlock(i3cbus);
>  
> +	i3c_master_rpm_put(master);

[Severity: High]
This isn't a bug introduced by this patch, but does putting the device to
sleep here immediately cause the newly written retry count to be lost?

When the dw-i3c-master device enters runtime suspend, the hardware is reset
via reset_control_assert() in dw_i3c_master_runtime_suspend().

Upon resuming, dw_i3c_master_restore_addrs() reads the newly reset hardware
register (which returns 0), updates only the address bits, and writes it
back. This permanently discards other configuration fields, including the
DEV_ADDR_TABLE_DEV_NACK_RETRY_CNT configured here, as well as other fields
like SIR_REJECT and IBI_MDB.

Because dev_nack_retry_count_store() now correctly drops the runtime PM
reference, the controller can suspend immediately after the configuration is
written. Will this silently revert the retry count back to its reset state?

> +
>  	return ret ?: count;
>  }

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260616113752.196140-1-adrian.hunter@intel.com?part=2



More information about the linux-i3c mailing list