All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Noralf Trønnes" <noralf@tronnes.org>
To: dri-devel@lists.freedesktop.org
Cc: david@lechnology.com, daniel.vetter@ffwll.ch,
	intel-gfx@lists.freedesktop.org,
	"Noralf Trønnes" <noralf@tronnes.org>,
	sam@ravnborg.org
Subject: [PATCH v3 1/7] drm/drv: Hold ref on parent device during drm_device lifetime
Date: Mon, 25 Feb 2019 15:42:26 +0100	[thread overview]
Message-ID: <20190225144232.20761-2-noralf@tronnes.org> (raw)
In-Reply-To: <20190225144232.20761-1-noralf@tronnes.org>

This makes it safe to access drm_device->dev after the parent device has
been removed/unplugged.

Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
---
 drivers/gpu/drm/drm_drv.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 53e8f4e103db..ce65f12db0fe 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -521,7 +521,7 @@ int drm_dev_init(struct drm_device *dev,
 	BUG_ON(!parent);
 
 	kref_init(&dev->ref);
-	dev->dev = parent;
+	dev->dev = get_device(parent);
 	dev->driver = driver;
 
 	/* no per-device feature limits by default */
@@ -591,6 +591,7 @@ int drm_dev_init(struct drm_device *dev,
 	drm_minor_free(dev, DRM_MINOR_RENDER);
 	drm_fs_inode_free(dev->anon_inode);
 err_free:
+	put_device(dev->dev);
 	mutex_destroy(&dev->master_mutex);
 	mutex_destroy(&dev->ctxlist_mutex);
 	mutex_destroy(&dev->clientlist_mutex);
@@ -626,6 +627,8 @@ void drm_dev_fini(struct drm_device *dev)
 	drm_minor_free(dev, DRM_MINOR_PRIMARY);
 	drm_minor_free(dev, DRM_MINOR_RENDER);
 
+	put_device(dev->dev);
+
 	mutex_destroy(&dev->master_mutex);
 	mutex_destroy(&dev->ctxlist_mutex);
 	mutex_destroy(&dev->clientlist_mutex);
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-02-25 14:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-25 14:42 [PATCH v3 0/7] drm/tinydrm: Remove tinydrm_device Noralf Trønnes
2019-02-25 14:42 ` Noralf Trønnes [this message]
2019-02-27 14:13   ` [PATCH v3 1/7] drm/drv: Hold ref on parent device during drm_device lifetime Gerd Hoffmann
2019-02-25 14:42 ` [PATCH v3 2/7] drm: Add devm_drm_dev_init() Noralf Trønnes
2019-02-27 14:15   ` Gerd Hoffmann
2019-02-25 14:42 ` [PATCH v3 3/7] drm/drv: DOC: Add driver example code Noralf Trønnes
2019-02-27 14:19   ` Gerd Hoffmann
2019-02-25 14:42 ` [PATCH v3 4/7] drm/tinydrm/repaper: Drop using tinydrm_device Noralf Trønnes
2019-02-25 14:42 ` [PATCH v3 5/7] drm/tinydrm: " Noralf Trønnes
2019-02-27 14:27   ` Gerd Hoffmann
2019-02-27 17:03     ` Noralf Trønnes
2019-02-25 14:42 ` [PATCH v3 6/7] drm/tinydrm: Remove tinydrm_device Noralf Trønnes
2019-02-25 14:42 ` [PATCH v3 7/7] drm/tinydrm: Use drm_dev_enter/exit() Noralf Trønnes
2019-02-27 14:30   ` Gerd Hoffmann
2019-02-25 15:05 ` ✗ Fi.CI.CHECKPATCH: warning for drm/tinydrm: Remove tinydrm_device Patchwork
2019-02-25 15:25 ` ✓ Fi.CI.BAT: success " Patchwork
2019-02-25 21:03 ` ✓ Fi.CI.IGT: " Patchwork
2019-03-04 14:40 ` [PATCH v3 0/7] " Noralf Trønnes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190225144232.20761-2-noralf@tronnes.org \
    --to=noralf@tronnes.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=david@lechnology.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.