Skip to content

Commit 7ebdc26

Browse files
committed
Merge tag 'drm-misc-next-fixes-2020-02-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
drm-misc-next fixes for v5.6: - Fix build error in drm/edid. - Plug close-after-free race in vgem_gem_create. - Handle CONFIG_DMA_API_DEBUG_SG better in drm/msm. Signed-off-by: Dave Airlie <[email protected]> From: Maarten Lankhorst <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 984f010 + e1cf35b commit 7ebdc26

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

drivers/gpu/drm/drm_edid.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3211,7 +3211,7 @@ static u8 *drm_find_cea_extension(const struct edid *edid)
32113211
return cea;
32123212
}
32133213

3214-
static const struct drm_display_mode *cea_mode_for_vic(u8 vic)
3214+
static __always_inline const struct drm_display_mode *cea_mode_for_vic(u8 vic)
32153215
{
32163216
BUILD_BUG_ON(1 + ARRAY_SIZE(edid_cea_modes_1) - 1 != 127);
32173217
BUILD_BUG_ON(193 + ARRAY_SIZE(edid_cea_modes_193) - 1 != 219);

drivers/gpu/drm/msm/msm_drv.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,14 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
441441
if (ret)
442442
goto err_msm_uninit;
443443

444+
if (!dev->dma_parms) {
445+
dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms),
446+
GFP_KERNEL);
447+
if (!dev->dma_parms)
448+
return -ENOMEM;
449+
}
450+
dma_set_max_seg_size(dev, DMA_BIT_MASK(32));
451+
444452
msm_gem_shrinker_init(ddev);
445453

446454
switch (get_mdp_ver(pdev)) {

drivers/gpu/drm/vgem/vgem_drv.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,10 @@ static struct drm_gem_object *vgem_gem_create(struct drm_device *dev,
196196
return ERR_CAST(obj);
197197

198198
ret = drm_gem_handle_create(file, &obj->base, handle);
199-
drm_gem_object_put_unlocked(&obj->base);
200-
if (ret)
199+
if (ret) {
200+
drm_gem_object_put_unlocked(&obj->base);
201201
return ERR_PTR(ret);
202+
}
202203

203204
return &obj->base;
204205
}
@@ -221,7 +222,9 @@ static int vgem_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
221222
args->size = gem_object->size;
222223
args->pitch = pitch;
223224

224-
DRM_DEBUG("Created object of size %lld\n", size);
225+
drm_gem_object_put_unlocked(gem_object);
226+
227+
DRM_DEBUG("Created object of size %llu\n", args->size);
225228

226229
return 0;
227230
}

0 commit comments

Comments
 (0)