accel/qaic: Validate if BO is sliced before slicing
authorPranjal Ramajor Asha Kanojiya <quic_pkanojiy@quicinc.com>
Wed, 17 May 2023 19:35:37 +0000 (13:35 -0600)
committerJeffrey Hugo <quic_jhugo@quicinc.com>
Tue, 23 May 2023 15:48:19 +0000 (09:48 -0600)
QAIC_ATTACH_SLICE_BO attaches slicing configuration to a BO. Validate if
given BO is already sliced. An already sliced BO cannot be sliced again.

Fixes: ff13be830333 ("accel/qaic: Add datapath")
Signed-off-by: Pranjal Ramajor Asha Kanojiya <quic_pkanojiy@quicinc.com>
Reviewed-by: Carl Vanderlip <quic_carlv@quicinc.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230517193540.14323-3-quic_jhugo@quicinc.com
drivers/accel/qaic/qaic_data.c

index 5f71d76..e672dd2 100644 (file)
@@ -1001,6 +1001,11 @@ int qaic_attach_slice_bo_ioctl(struct drm_device *dev, void *data, struct drm_fi
 
        bo = to_qaic_bo(obj);
 
+       if (bo->sliced) {
+               ret = -EINVAL;
+               goto put_bo;
+       }
+
        ret = qaic_prepare_bo(qdev, bo, &args->hdr);
        if (ret)
                goto put_bo;