summaryrefslogtreecommitdiff
path: root/drivers/accel
diff options
context:
space:
mode:
authorMoti Haimovski <mhaimovski@habana.ai>2023-04-13 13:54:40 +0300
committerOded Gabbay <ogabbay@kernel.org>2023-06-05 15:31:34 +0300
commit04729b418f8b031712e6dbf5bffa7d639f8f211e (patch)
tree55171580cd26e3576cdfed60ee55840e5685f471 /drivers/accel
parent57469c12060899b7b0768ace178c7e36501e2f21 (diff)
downloadlinux-04729b418f8b031712e6dbf5bffa7d639f8f211e.tar.xz
accel/habanalabs: call to HW/FW err returns 0 when no events exist
This commit modifies the call to retrieve HW or FW error events to return success when no events are pending, as done in the calls to other events. Signed-off-by: Moti Haimovski <mhaimovski@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Diffstat (limited to 'drivers/accel')
-rw-r--r--drivers/accel/habanalabs/common/habanalabs_ioctl.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/accel/habanalabs/common/habanalabs_ioctl.c b/drivers/accel/habanalabs/common/habanalabs_ioctl.c
index 203ee857810c..4368e6c9a23a 100644
--- a/drivers/accel/habanalabs/common/habanalabs_ioctl.c
+++ b/drivers/accel/habanalabs/common/habanalabs_ioctl.c
@@ -842,15 +842,15 @@ static int hw_err_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
struct hw_err_info *info;
int rc;
- if ((!user_buf_size) || (!user_buf))
+ if (!user_buf)
return -EINVAL;
- if (user_buf_size < sizeof(struct hl_info_hw_err_event))
- return -ENOMEM;
-
info = &hdev->captured_err_info.hw_err;
if (!info->event_info_available)
- return -ENOENT;
+ return 0;
+
+ if (user_buf_size < sizeof(struct hl_info_hw_err_event))
+ return -ENOMEM;
rc = copy_to_user(user_buf, &info->event, sizeof(struct hl_info_hw_err_event));
return rc ? -EFAULT : 0;
@@ -864,15 +864,15 @@ static int fw_err_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
struct fw_err_info *info;
int rc;
- if ((!user_buf_size) || (!user_buf))
+ if (!user_buf)
return -EINVAL;
- if (user_buf_size < sizeof(struct hl_info_fw_err_event))
- return -ENOMEM;
-
info = &hdev->captured_err_info.fw_err;
if (!info->event_info_available)
- return -ENOENT;
+ return 0;
+
+ if (user_buf_size < sizeof(struct hl_info_fw_err_event))
+ return -ENOMEM;
rc = copy_to_user(user_buf, &info->event, sizeof(struct hl_info_fw_err_event));
return rc ? -EFAULT : 0;