Commit 9be182da authored by Chen Zhongjin's avatar Chen Zhongjin Committed by Greg Kroah-Hartman

driver core: Fix test_async_probe_init saves device in wrong array

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: 57ea974f ("driver core: Rewrite test_async_driver_probe to cover serialization and NUMA affinity")
Signed-off-by: default avatarChen Zhongjin <chenzhongjin@huawei.com>
Link: https://lore.kernel.org/r/20221125063541.241328-1-chenzhongjin@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 39af7286
...@@ -145,7 +145,7 @@ static int __init test_async_probe_init(void) ...@@ -145,7 +145,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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment