Module: xenomai-3 Branch: stable-3.0.x Commit: 144746346a118ac368935b8b9ea14f4677cf8e96 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=144746346a118ac368935b8b9ea14f4677cf8e96
Author: Philippe Gerum <[email protected]> Date: Thu Apr 19 10:28:40 2018 +0200 drivers/gpio: core: lock gpio_chip list while scanning for removal --- kernel/drivers/gpio/gpio-core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c index a27c9ee..3ce73db 100644 --- a/kernel/drivers/gpio/gpio-core.c +++ b/kernel/drivers/gpio/gpio-core.c @@ -597,12 +597,18 @@ void rtdm_gpiochip_remove_of(int type) if (!realtime_core_enabled()) return; + mutex_lock(&chip_lock); + list_for_each_entry_safe(rgc, n, &rtdm_gpio_chips, next) { if (rgc->driver.profile_info.subclass_id == type) { + mutex_unlock(&chip_lock); rtdm_gpiochip_remove(rgc); kfree(rgc); + mutex_lock(&chip_lock); } } + + mutex_unlock(&chip_lock); } EXPORT_SYMBOL_GPL(rtdm_gpiochip_remove_of); _______________________________________________ Xenomai-git mailing list [email protected] https://xenomai.org/mailman/listinfo/xenomai-git
