]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpio: mvebu: free generic chips on unbind
authorRosen Penev <rosenp@gmail.com>
Tue, 7 Jul 2026 23:23:58 +0000 (16:23 -0700)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Wed, 8 Jul 2026 12:05:11 +0000 (14:05 +0200)
irq_alloc_domain_generic_chips() allocates generic chip data that must
be freed via irq_domain_remove_generic_chips(). The devres action
mvebu_gpio_remove_irq_domain() only called irq_domain_remove(), which
only frees the generic chips if IRQ_DOMAIN_FLAG_DESTROY_GC is set.
Call irq_domain_remove_generic_chips() explicitly before
irq_domain_remove() instead.

Fixes: 812d47889a8e ("gpio/mvebu: Use irq_domain_add_linear")
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://patch.msgid.link/20260707232358.1218077-1-rosenp@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpio-mvebu.c

index 689dc6354c2d78f897f4f9c5c4d1d2d5de7d9f8f..a010604e5ff795a54735131dfa0f1bb68fef8e39 100644 (file)
@@ -1110,6 +1110,7 @@ static void mvebu_gpio_remove_irq_domain(void *data)
 {
        struct irq_domain *domain = data;
 
+       irq_domain_remove_generic_chips(domain);
        irq_domain_remove(domain);
 }