]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mux: mmio: fix regmap leak on probe failure
authorJohan Hovold <johan@kernel.org>
Thu, 27 Nov 2025 13:47:02 +0000 (14:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Feb 2026 16:07:37 +0000 (17:07 +0100)
The mmio regmap that may be allocated during probe is never freed.

Switch to using the device managed allocator so that the regmap is
released on probe failures (e.g. probe deferral) and on driver unbind.

Fixes: 61de83fd8256 ("mux: mmio: Do not use syscon helper to build regmap")
Cc: stable@vger.kernel.org # 6.16
Cc: Andrew Davis <afd@ti.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Andrew Davis <afd@ti.com>
Link: https://patch.msgid.link/20251127134702.1915-1-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mux/mmio.c

index 3409af1ffb80f6b58ef67fd15aa8b2b2420bd746..0611ef28bb69ab492976223a7b26582d9abdec8b 100644 (file)
@@ -72,7 +72,7 @@ static int mux_mmio_probe(struct platform_device *pdev)
                if (IS_ERR(base))
                        regmap = ERR_PTR(-ENODEV);
                else
-                       regmap = regmap_init_mmio(dev, base, &mux_mmio_regmap_cfg);
+                       regmap = devm_regmap_init_mmio(dev, base, &mux_mmio_regmap_cfg);
                /* Fallback to checking the parent node on "real" errors. */
                if (IS_ERR(regmap) && regmap != ERR_PTR(-EPROBE_DEFER)) {
                        regmap = dev_get_regmap(dev->parent, NULL);