Commit 858aa5a4 authored by Zou Wei's avatar Zou Wei Committed by Thomas Zimmermann

drm/aperture: Fix missing unlock on error in devm_aperture_acquire()

Add the missing unlock before return from function devm_aperture_acquire()
in the error handling case.
Signed-off-by: default avatarZou Wei <zou_wei@huawei.com>
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Fixes: 730e7992 ("drm/aperture: Add infrastructure for aperture ownership")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Maxime Ripard <maxime@cerno.tech>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/1620895564-52367-1-git-send-email-zou_wei@huawei.com
parent d84680d3
...@@ -164,13 +164,17 @@ static int devm_aperture_acquire(struct drm_device *dev, ...@@ -164,13 +164,17 @@ static int devm_aperture_acquire(struct drm_device *dev,
list_for_each(pos, &drm_apertures) { list_for_each(pos, &drm_apertures) {
ap = container_of(pos, struct drm_aperture, lh); ap = container_of(pos, struct drm_aperture, lh);
if (overlap(base, end, ap->base, ap->base + ap->size)) if (overlap(base, end, ap->base, ap->base + ap->size)) {
mutex_unlock(&drm_apertures_lock);
return -EBUSY; return -EBUSY;
}
} }
ap = devm_kzalloc(dev->dev, sizeof(*ap), GFP_KERNEL); ap = devm_kzalloc(dev->dev, sizeof(*ap), GFP_KERNEL);
if (!ap) if (!ap) {
mutex_unlock(&drm_apertures_lock);
return -ENOMEM; return -ENOMEM;
}
ap->dev = dev; ap->dev = dev;
ap->base = base; ap->base = base;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment