aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_atomic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_atomic.c')
-rw-r--r--drivers/gpu/drm/drm_atomic.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index c32fb3c1d6f0..1d6ab371cd52 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -416,18 +416,21 @@ drm_atomic_replace_property_blob_from_id(struct drm_crtc *crtc,
416 ssize_t expected_size, 416 ssize_t expected_size,
417 bool *replaced) 417 bool *replaced)
418{ 418{
419 struct drm_device *dev = crtc->dev;
420 struct drm_property_blob *new_blob = NULL; 419 struct drm_property_blob *new_blob = NULL;
421 420
422 if (blob_id != 0) { 421 if (blob_id != 0) {
423 new_blob = drm_property_lookup_blob(dev, blob_id); 422 new_blob = drm_property_lookup_blob(crtc->dev, blob_id);
424 if (new_blob == NULL) 423 if (new_blob == NULL)
425 return -EINVAL; 424 return -EINVAL;
426 if (expected_size > 0 && expected_size != new_blob->length) 425
426 if (expected_size > 0 && expected_size != new_blob->length) {
427 drm_property_unreference_blob(new_blob);
427 return -EINVAL; 428 return -EINVAL;
429 }
428 } 430 }
429 431
430 drm_atomic_replace_property_blob(blob, new_blob, replaced); 432 drm_atomic_replace_property_blob(blob, new_blob, replaced);
433 drm_property_unreference_blob(new_blob);
431 434
432 return 0; 435 return 0;
433} 436}