aboutsummaryrefslogtreecommitdiff
path: root/drivers/base/module.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2024-09-02 11:56:59 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-09-02 11:56:59 +0200
commit342123d6913c62be17e5ca1bb325758c5fd0db34 (patch)
tree44a9a8aa6910907014bca41bc6272aa27d0e9b50 /drivers/base/module.c
parent5916be8a53de6401871bdd953f6c60237b47d6d3 (diff)
parent3d5c2f8e75a55cfb11a85086c71996af0354a1fb (diff)
Merge tag 'timers-v6.11-rc7' of https://git.linaro.org/people/daniel.lezcano/linux into timers/urgent
Pull clocksource driver fixes from Daniel Lezcano: - Remove percpu irq related code in the timer-of initialization routine as it is broken but also unused (Daniel Lezcano) - Fix return -ETIME when delta exceeds INT_MAX and the next event not taking effect sometimes (Jacky Bai) Link: https://lore.kernel.org/all/d0e93dbd-b796-4726-b38c-089b685591c9@linaro.org
Diffstat (limited to 'drivers/base/module.c')
-rw-r--r--drivers/base/module.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/module.c b/drivers/base/module.c
index 7af224e6914a..f742ad2a21da 100644
--- a/drivers/base/module.c
+++ b/drivers/base/module.c
@@ -7,6 +7,7 @@
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/string.h>
+#include <linux/rcupdate.h>
#include "base.h"
static char *make_driver_name(const struct device_driver *drv)
@@ -97,6 +98,9 @@ void module_remove_driver(const struct device_driver *drv)
if (!drv)
return;
+ /* Synchronize with dev_uevent() */
+ synchronize_rcu();
+
sysfs_remove_link(&drv->p->kobj, "module");
if (drv->owner)