]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/mipi-dsi: Detach devices when removing the host
authorMaxime Ripard <maxime@cerno.tech>
Mon, 11 Jul 2022 17:38:31 +0000 (19:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 11:22:27 +0000 (13:22 +0200)
[ Upstream commit faed76fc11107cbb5a1a5d7d6dae9d13c9e47d1f ]

Whenever the MIPI-DSI host is unregistered, the code of
mipi_dsi_host_unregister() loops over every device currently found on that
bus and will unregister it.

However, it doesn't detach it from the bus first, which leads to all kind
of resource leaks if the host wants to perform some clean up whenever a
device is detached.

Fixes: b1946b21d66a ("drm: Add MIPI DSI bus support")
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220711173939.1132294-2-maxime@cerno.tech
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/drm_mipi_dsi.c

index b99f96dcc6f1e5ccf4c27c982144cdaa1cf78b48..bb7f72ade628cd4b9729f27dfdabf6be0566d54a 100644 (file)
@@ -300,6 +300,7 @@ static int mipi_dsi_remove_device_fn(struct device *dev, void *priv)
 {
        struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev);
 
+       mipi_dsi_detach(dsi);
        mipi_dsi_device_unregister(dsi);
 
        return 0;