drm/rockchip: gem: add the lacks lock and trivial changes
As the allocation and free buffer that need to add mutex lock for drm mm, but it lacks the locking on error path in rockchip_gem_iommu_map(). Also, the trivial changes like The comment should be placed in the kerneldoc and unused blank line. Signed-off-by: Caesar Wang <wxt@rock-chips.com> Reviewed-by: Mark Yao <mark.yao@rock-chips.com> Signed-off-by: Mark Yao <mark.yao@rock-chips.com> Link: http://patchwork.freedesktop.org/patch/msgid/1496196863-25738-1-git-send-email-wxt@rock-chips.com
This commit is contained in:
parent
e345da82bd
commit
2d7b56378d
|
@ -45,13 +45,13 @@ struct rockchip_crtc_state {
|
|||
*
|
||||
* @crtc: array of enabled CRTCs, used to map from "pipe" to drm_crtc.
|
||||
* @num_pipe: number of pipes for this device.
|
||||
* @mm_lock: protect drm_mm on multi-threads.
|
||||
*/
|
||||
struct rockchip_drm_private {
|
||||
struct drm_fb_helper fbdev_helper;
|
||||
struct drm_gem_object *fbdev_bo;
|
||||
struct drm_atomic_state *state;
|
||||
struct iommu_domain *domain;
|
||||
/* protect drm_mm on multi-threads */
|
||||
struct mutex mm_lock;
|
||||
struct drm_mm mm;
|
||||
struct list_head psr_list;
|
||||
|
|
|
@ -29,12 +29,11 @@ static int rockchip_gem_iommu_map(struct rockchip_gem_object *rk_obj)
|
|||
ssize_t ret;
|
||||
|
||||
mutex_lock(&private->mm_lock);
|
||||
|
||||
ret = drm_mm_insert_node_generic(&private->mm, &rk_obj->mm,
|
||||
rk_obj->base.size, PAGE_SIZE,
|
||||
0, 0);
|
||||
|
||||
mutex_unlock(&private->mm_lock);
|
||||
|
||||
if (ret < 0) {
|
||||
DRM_ERROR("out of I/O virtual memory: %zd\n", ret);
|
||||
return ret;
|
||||
|
@ -56,7 +55,9 @@ static int rockchip_gem_iommu_map(struct rockchip_gem_object *rk_obj)
|
|||
return 0;
|
||||
|
||||
err_remove_node:
|
||||
mutex_lock(&private->mm_lock);
|
||||
drm_mm_remove_node(&rk_obj->mm);
|
||||
mutex_unlock(&private->mm_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue