[PATCH V3 03/14] i3c: master: Do not treat master device as a duplicate target
Frank Li
Frank.li at oss.nxp.com
Tue Aug 4 09:50:00 PDT 2026
On Tue, Aug 04, 2026 at 04:37:59PM +0300, Adrian Hunter wrote:
> i3c_master_search_i3c_dev_duplicate() searches the bus for another I3C
> device with the same PID as the reference device. The search can match
> master->this, causing the controller itself to be returned as a
> duplicate.
>
> Since the controller is not a target device, it cannot be a duplicate of
> one. Exclude master->this from matching so that the function only
> returns real duplicate target devices.
>
> Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
> Cc: stable at vger.kernel.org
> Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
> ---
Reviewed-by: Frank Li <Frank.Li at nxp.com>
>
>
> Changes in V3:
>
> New patch
>
>
> drivers/i3c/master.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index c7bb52b71d88..abb582645a2e 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c
> @@ -2545,7 +2545,8 @@ i3c_master_search_i3c_dev_duplicate(struct i3c_dev_desc *refdev)
>
> i3c_bus_for_each_i3cdev(&master->bus, i3cdev) {
> if (i3cdev != refdev && i3cdev->info.pid &&
> - i3cdev->info.pid == refdev->info.pid)
> + i3cdev->info.pid == refdev->info.pid &&
> + i3cdev != master->this)
> return i3cdev;
> }
>
> --
> 2.53.0
>
More information about the linux-i3c
mailing list