Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7e1c59a authored by Dave Airlie's avatar Dave Airlie
Browse files

drm/mode: reduce lock hold in addfb2



No need to hold the lock while assigning the variable.

Daniel wrote:
"Not sure why exactly I put that under the lock, but the only thing that
can race here is rmfb while addfb2 is still doing it's thing, with a
correctly guess (easy to do since they're fully deterministic) fb_id."

Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 9cd47424
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -3445,11 +3445,11 @@ int drm_mode_addfb2(struct drm_device *dev,
	if (IS_ERR(fb))
	if (IS_ERR(fb))
		return PTR_ERR(fb);
		return PTR_ERR(fb);


	/* Transfer ownership to the filp for reaping on close */

	DRM_DEBUG_KMS("[FB:%d]\n", fb->base.id);
	DRM_DEBUG_KMS("[FB:%d]\n", fb->base.id);
	mutex_lock(&file_priv->fbs_lock);
	r->fb_id = fb->base.id;
	r->fb_id = fb->base.id;

	/* Transfer ownership to the filp for reaping on close */
	mutex_lock(&file_priv->fbs_lock);
	list_add(&fb->filp_head, &file_priv->fbs);
	list_add(&fb->filp_head, &file_priv->fbs);
	mutex_unlock(&file_priv->fbs_lock);
	mutex_unlock(&file_priv->fbs_lock);