summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWhi copybara merger <whitechapel-automerger@google.com>2023-04-19 08:43:27 +0000
committerTodd Poynor <toddpoynor@google.com>2023-04-26 22:34:53 +0000
commit9dd05925f30c940b71a3e119e129ca10c68c3bf0 (patch)
treee56bbdd10f45d11df566bb5d680055b4324ea53e
parent37e026c4fc49af51d06a083369505aef779e3519 (diff)
downloadjaneiro-9dd05925f30c940b71a3e119e129ca10c68c3bf0.tar.gz
[Copybara Auto Merge] Merge branch pro into android13-gs-pixel-5.10-udc
edgetpu: add error log for canceled operation due to fatal error GitOrigin-RevId: 024cda1176f0ccbff338ff0fcee6adea63298423 Change-Id: Iaf4719c3cd4588f51fb52dad458e9a529d659ca9
-rw-r--r--drivers/edgetpu/edgetpu-device-group.c2
-rw-r--r--drivers/edgetpu/edgetpu-device-group.h18
2 files changed, 16 insertions, 4 deletions
diff --git a/drivers/edgetpu/edgetpu-device-group.c b/drivers/edgetpu/edgetpu-device-group.c
index 2b13cf0..4bd1be9 100644
--- a/drivers/edgetpu/edgetpu-device-group.c
+++ b/drivers/edgetpu/edgetpu-device-group.c
@@ -1879,7 +1879,7 @@ uint edgetpu_group_get_fatal_errors(struct edgetpu_device_group *group)
uint fatal_errors;
mutex_lock(&group->lock);
- fatal_errors = group->fatal_errors;
+ fatal_errors = edgetpu_group_get_fatal_errors_locked(group);
mutex_unlock(&group->lock);
return fatal_errors;
}
diff --git a/drivers/edgetpu/edgetpu-device-group.h b/drivers/edgetpu/edgetpu-device-group.h
index fffcf75..a8a3bac 100644
--- a/drivers/edgetpu/edgetpu-device-group.h
+++ b/drivers/edgetpu/edgetpu-device-group.h
@@ -210,15 +210,27 @@ edgetpu_device_group_is_disbanded(const struct edgetpu_device_group *group)
}
/*
- * Returns -ECANCELED if the status of group is ERRORED, otherwise returns
- * -EINVAL.
+ * Return fatal error status for the group.
+ *
+ * Caller holds @group->lock.
+ */
+static inline uint edgetpu_group_get_fatal_errors_locked(struct edgetpu_device_group *group)
+{
+ return group->fatal_errors;
+}
+
+/*
+ * Returns -ECANCELED if the status of group is ERRORED, otherwise returns -EINVAL.
*
* Caller holds @group->lock.
*/
static inline int edgetpu_group_errno(struct edgetpu_device_group *group)
{
- if (edgetpu_device_group_is_errored(group))
+ if (edgetpu_device_group_is_errored(group)) {
+ etdev_err(group->etdev, "group %u error status 0x%x\n", group->workload_id,
+ edgetpu_group_get_fatal_errors_locked(group));
return -ECANCELED;
+ }
return -EINVAL;
}