Skip to content

Commit dc1771f

Browse files
dtorgregkh
authored andcommitted
Revert "drivers: core: synchronize really_probe() and dev_uevent()"
This reverts commit c0a4009. Probing a device can take arbitrary long time. In the field we observed that, for example, probing a bad micro-SD cards in an external USB card reader (or maybe cards were good but cables were flaky) sometimes takes longer than 2 minutes due to multiple retries at various levels of the stack. We can not block uevent_show() method for that long because udev is reading that attribute very often and that blocks udev and interferes with booting of the system. The change that introduced locking was concerned with dev_uevent() racing with unbinding the driver. However we can handle it without locking (which will be done in subsequent patch). There was also claim that synchronization with probe() is needed to properly load USB drivers, however this is a red herring: the change adding the lock was introduced in May of last year and USB loading and probing worked properly for many years before that. Revert the harmful locking. Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Link: https://lore.kernel.org/r/20250311052417.1846985-1-dmitry.torokhov@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 332ec18 commit dc1771f

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

drivers/base/core.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2726,11 +2726,8 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr,
27262726
if (!env)
27272727
return -ENOMEM;
27282728

2729-
/* Synchronize with really_probe() */
2730-
device_lock(dev);
27312729
/* let the kset specific function add its keys */
27322730
retval = kset->uevent_ops->uevent(&dev->kobj, env);
2733-
device_unlock(dev);
27342731
if (retval)
27352732
goto out;
27362733

0 commit comments

Comments
 (0)