Commit 63af27bc authored by Rob Clark's avatar Rob Clark 💬 Committed by Marge Bot
Browse files

freedreno/drm: fix invalid-cmdstream-size with older kernels

A cmdstream of size zero is invalid.  But this can appear in various
places where we emit a pointer to state.  This doesn't show up with
newer kernels (newer than v5.0) which use "softpin", but on earlier
kernels can result in:

  [drm:msm_ioctl_gem_submit [msm]] *ERROR* invalid cmdstream size: 0

Since the pointer value doesn't matter in these cases, the easy solution
is just to not emit a cmds table entry in this case.
Signed-off-by: Rob Clark's avatarRob Clark <>
Reviewed-by: Kristian H. Kristensen's avatarKristian H. Kristensen <>
Tested-by: Marge Bot <mesa/mesa!2805>
Part-of: <mesa/mesa!2805>
parent 0c154d9e
......@@ -612,6 +612,9 @@ msm_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
.offset = msm_target->offset,
if (!size)
return 0;
if ((target->flags & _FD_RINGBUFFER_OBJECT) &&
!(ring->flags & _FD_RINGBUFFER_OBJECT)) {
struct msm_submit *msm_submit = to_msm_submit(msm_ring->u.submit);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment