diff options
Diffstat (limited to 'drivers/gpu/drm/cirrus/cirrus_fbdev.c')
| -rw-r--r-- | drivers/gpu/drm/cirrus/cirrus_fbdev.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c index 3541b567bbd8..b27e95666fab 100644 --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c | |||
| @@ -25,7 +25,7 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev, | |||
| 25 | struct cirrus_bo *bo; | 25 | struct cirrus_bo *bo; |
| 26 | int src_offset, dst_offset; | 26 | int src_offset, dst_offset; |
| 27 | int bpp = (afbdev->gfb.base.bits_per_pixel + 7)/8; | 27 | int bpp = (afbdev->gfb.base.bits_per_pixel + 7)/8; |
| 28 | int ret; | 28 | int ret = -EBUSY; |
| 29 | bool unmap = false; | 29 | bool unmap = false; |
| 30 | bool store_for_later = false; | 30 | bool store_for_later = false; |
| 31 | int x2, y2; | 31 | int x2, y2; |
| @@ -39,7 +39,8 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev, | |||
| 39 | * then the BO is being moved and we should | 39 | * then the BO is being moved and we should |
| 40 | * store up the damage until later. | 40 | * store up the damage until later. |
| 41 | */ | 41 | */ |
| 42 | ret = cirrus_bo_reserve(bo, true); | 42 | if (!in_interrupt()) |
| 43 | ret = cirrus_bo_reserve(bo, true); | ||
| 43 | if (ret) { | 44 | if (ret) { |
| 44 | if (ret != -EBUSY) | 45 | if (ret != -EBUSY) |
| 45 | return; | 46 | return; |
