driver core: Fix test_async_probe_init saves device in wrong array
[ Upstream commit 9be182da0a7526f1b9a3777a336f83baa2e64d23 ]
In test_async_probe_init, second set of asynchronous devices are saved
in sync_dev[sync_id], which should be async_dev[async_id].
This makes these devices not unregistered when exit.
> modprobe test_async_driver_probe && \
> modprobe -r test_async_driver_probe && \
> modprobe test_async_driver_probe
...
> sysfs: cannot create duplicate filename '/devices/platform/test_async_driver.4'
> kobject_add_internal failed for test_async_driver.4 with -EEXIST,
don't try to register things with the same name in the same directory.
Fixes: 57ea974fb8
("driver core: Rewrite test_async_driver_probe to cover serialization and NUMA affinity")
Signed-off-by: Chen Zhongjin <chenzhongjin@huawei.com>
Link: https://lore.kernel.org/r/20221125063541.241328-1-chenzhongjin@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
276052159b
commit
02a4a7dc90
@ -146,7 +146,7 @@ static int __init test_async_probe_init(void)
|
|||||||
calltime = ktime_get();
|
calltime = ktime_get();
|
||||||
for_each_online_cpu(cpu) {
|
for_each_online_cpu(cpu) {
|
||||||
nid = cpu_to_node(cpu);
|
nid = cpu_to_node(cpu);
|
||||||
pdev = &sync_dev[sync_id];
|
pdev = &async_dev[async_id];
|
||||||
|
|
||||||
*pdev = test_platform_device_register_node("test_async_driver",
|
*pdev = test_platform_device_register_node("test_async_driver",
|
||||||
async_id,
|
async_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user