aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/ast/ast_fb.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index fbc0823cfa18..7b33e14e44aa 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -51,7 +51,7 @@ static void ast_dirty_update(struct ast_fbdev *afbdev,
51 struct ast_bo *bo; 51 struct ast_bo *bo;
52 int src_offset, dst_offset; 52 int src_offset, dst_offset;
53 int bpp = (afbdev->afb.base.bits_per_pixel + 7)/8; 53 int bpp = (afbdev->afb.base.bits_per_pixel + 7)/8;
54 int ret; 54 int ret = -EBUSY;
55 bool unmap = false; 55 bool unmap = false;
56 bool store_for_later = false; 56 bool store_for_later = false;
57 int x2, y2; 57 int x2, y2;
@@ -65,7 +65,8 @@ static void ast_dirty_update(struct ast_fbdev *afbdev,
65 * then the BO is being moved and we should 65 * then the BO is being moved and we should
66 * store up the damage until later. 66 * store up the damage until later.
67 */ 67 */
68 ret = ast_bo_reserve(bo, true); 68 if (!in_interrupt())
69 ret = ast_bo_reserve(bo, true);
69 if (ret) { 70 if (ret) {
70 if (ret != -EBUSY) 71 if (ret != -EBUSY)
71 return; 72 return;