driver core: Fix test_async_probe_init saves device in wrong array
authorChen Zhongjin <chenzhongjin@huawei.com>
Fri, 25 Nov 2022 06:35:41 +0000 (14:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2023 16:27:36 +0000 (17:27 +0100)
commit9be182da0a7526f1b9a3777a336f83baa2e64d23
tree3c430c1ffaaa0ac6475d8b1ab4297a80ad6f52df
parent39af728649b05e88a2b40e714feeee6451c3f18e
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: 57ea974fb871 ("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>
drivers/base/test/test_async_driver_probe.c