On Thu, 8 Feb 2024 10:58:57 +0100 Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > @@ -382,11 +389,13 @@ static int gpiodev_add_to_list_unlocked(struct gpio_device *gdev) > /* add between prev and next */ > if (prev->base + prev->ngpio <= gdev->base > && gdev->base + gdev->ngpio <= next->base) { > - list_add(&gdev->list, &prev->list); > + list_add_rcu(&gdev->list, &prev->list); > return 0; > } > } > > + synchronize_srcu(&gpio_devices_srcu); > + If not typo, could you shed light on why this sync is needed? > return -EBUSY; > }