Merge tag 'i3c/for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux
Pull i3c updates from Alexandre Belloni: "Not much this cycle, only two fixes for a rare event" - fix device reattach issues" * tag 'i3c/for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux: i3c: master: Remove the wrong place of reattach. i3c: master: Free the old_dyn_addr when reattach.
This commit is contained in:
@@ -1379,6 +1379,9 @@ static int i3c_master_reattach_i3c_dev(struct i3c_dev_desc *dev,
|
||||
i3c_bus_set_addr_slot_status(&master->bus,
|
||||
dev->info.dyn_addr,
|
||||
I3C_ADDR_SLOT_I3C_DEV);
|
||||
if (old_dyn_addr)
|
||||
i3c_bus_set_addr_slot_status(&master->bus, old_dyn_addr,
|
||||
I3C_ADDR_SLOT_FREE);
|
||||
}
|
||||
|
||||
if (master->ops->reattach_i3c_dev) {
|
||||
@@ -1908,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:
|
||||
|
||||
Reference in New Issue
Block a user