drm/bochs: Fix connector leak during driver unload
authorSam Bobroff <sbobroff@linux.ibm.com>
Tue, 21 May 2019 05:28:39 +0000 (15:28 +1000)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 21 May 2019 08:06:04 +0000 (10:06 +0200)
When unloading the bochs-drm driver, a warning message is printed by
drm_mode_config_cleanup() because a reference is still held to one of
the drm_connector structs.

Correct this by calling drm_atomic_helper_shutdown() in
bochs_pci_remove().

Fixes: 6579c39594ae ("drm/bochs: atomic: switch planes to atomic, wire up helpers.")
Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com>
Link: http://patchwork.freedesktop.org/patch/msgid/93b363ad62f4938d9ddf3e05b2a61e3f66b2dcd3.1558416473.git.sbobroff@linux.ibm.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/bochs/bochs_drv.c

index 4c425439c77d7a489f8667ca99a89f3ee7612f46..e7512a6564a312c86f3e6dbf9dcf33d3386bdf61 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/slab.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_probe_helper.h>
+#include <drm/drm_atomic_helper.h>
 
 #include "bochs.h"
 
@@ -158,6 +159,7 @@ static void bochs_pci_remove(struct pci_dev *pdev)
 {
        struct drm_device *dev = pci_get_drvdata(pdev);
 
+       drm_atomic_helper_shutdown(dev);
        drm_dev_unregister(dev);
        bochs_unload(dev);
        drm_dev_put(dev);