summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sbi/sbi_sse.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sbi/sbi_sse.c b/lib/sbi/sbi_sse.c
index f959eaa6..47721b2f 100644
--- a/lib/sbi/sbi_sse.c
+++ b/lib/sbi/sbi_sse.c
@@ -388,7 +388,7 @@ static int sse_event_set_hart_id_check(struct sbi_sse_event *e,
struct sbi_domain *hd = sbi_domain_thishart_ptr();
if (!sse_event_is_global(e))
- return SBI_EBAD_RANGE;
+ return SBI_EDENIED;
if (!sbi_domain_is_assigned_hart(hd, sbi_hartid_to_hartindex(hartid)))
return SBI_EINVAL;
@@ -444,7 +444,13 @@ static int sse_event_set_attr_check(struct sbi_sse_event *e, uint32_t attr_id,
return SBI_OK;
default:
- return SBI_EBAD_RANGE;
+ /*
+ * Attribute range validity was already checked by
+ * sbi_sse_attr_check(). If we end up here, attribute was not
+ * handled by the above 'case' statements and thus it is
+ * read-only.
+ */
+ return SBI_EDENIED;
}
}