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.

+3 -4
+3 -4
drivers/i3c/master.c
··· 1379 i3c_bus_set_addr_slot_status(&master->bus, 1380 dev->info.dyn_addr, 1381 I3C_ADDR_SLOT_I3C_DEV); 1382 } 1383 1384 if (master->ops->reattach_i3c_dev) { ··· 1910 i3c_master_detach_i3c_dev(olddev); 1911 i3c_master_free_i3c_dev(olddev); 1912 } 1913 - 1914 - ret = i3c_master_reattach_i3c_dev(newdev, old_dyn_addr); 1915 - if (ret) 1916 - goto err_detach_dev; 1917 1918 /* 1919 * Depending on our previous state, the expected dynamic address might
··· 1379 i3c_bus_set_addr_slot_status(&master->bus, 1380 dev->info.dyn_addr, 1381 I3C_ADDR_SLOT_I3C_DEV); 1382 + if (old_dyn_addr) 1383 + i3c_bus_set_addr_slot_status(&master->bus, old_dyn_addr, 1384 + I3C_ADDR_SLOT_FREE); 1385 } 1386 1387 if (master->ops->reattach_i3c_dev) { ··· 1907 i3c_master_detach_i3c_dev(olddev); 1908 i3c_master_free_i3c_dev(olddev); 1909 } 1910 1911 /* 1912 * Depending on our previous state, the expected dynamic address might