浏览代码

V4L/DVB (6263): Fix buffer release code

Release code should happen before the cleaning of map variable.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab 17 年之前
父节点
当前提交
123f8ef64e
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      drivers/media/video/videobuf-vmalloc.c

+ 3 - 1
drivers/media/video/videobuf-vmalloc.c

@@ -84,9 +84,11 @@ videobuf_vm_close(struct vm_area_struct *vma)
 
 
 			if (mem->map != map)
 			if (mem->map != map)
 				continue;
 				continue;
+
+			q->ops->buf_release(q,q->bufs[i]);
+
 			mem->map   = NULL;
 			mem->map   = NULL;
 			q->bufs[i]->baddr = 0;
 			q->bufs[i]->baddr = 0;
-			q->ops->buf_release(q,q->bufs[i]);
 		}
 		}
 		mutex_unlock(&q->lock);
 		mutex_unlock(&q->lock);
 		kfree(map);
 		kfree(map);