Commit 90f4a09a authored by Billy Tsai's avatar Billy Tsai Committed by Alexandre Belloni
Browse files

i3c: master: Remove the wrong place of reattach.



The reattach should be used when an I3C device has its address changed.
But the modified place in this patch doesn't have the address changed of
the newdev. This wrong reattach will reserve the same address slot twice
and return unexpected -EBUSY when the bus find the duplicate device with
diffent dynamic address.

Signed-off-by: default avatarBilly Tsai <billy_tsai@aspeedtech.com>
Link: https://lore.kernel.org/r/20220926105145.8145-2-billy_tsai@aspeedtech.com


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent d4fa7d77
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1911,10 +1911,6 @@ int i3c_master_add_i3c_dev_locked(struct i3c_master_controller *master,
		i3c_master_free_i3c_dev(olddev);
	}

	ret = i3c_master_reattach_i3c_dev(newdev, old_dyn_addr);
	if (ret)
		goto err_detach_dev;

	/*
	 * Depending on our previous state, the expected dynamic address might
	 * differ: