summaryrefslogtreecommitdiff
path: root/common/extension.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/extension.c')
-rw-r--r--common/extension.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/common/extension.c b/common/extension.c
index a588ce892e..d28bfad337 100644
--- a/common/extension.c
+++ b/common/extension.c
@@ -10,10 +10,10 @@
#define CPRINTF(format, args...) cprintf(CC_EXTENSION, format, ## args)
-void extension_route_command(uint16_t command_code,
- void *buffer,
- size_t in_size,
- size_t *out_size)
+uint32_t extension_route_command(uint16_t command_code,
+ void *buffer,
+ size_t in_size,
+ size_t *out_size)
{
struct extension_command *cmd_p;
struct extension_command *end_p;
@@ -22,10 +22,9 @@ void extension_route_command(uint16_t command_code,
end_p = (struct extension_command *)&__extension_cmds_end;
while (cmd_p != end_p) {
- if (cmd_p->command_code == command_code) {
- cmd_p->handler(buffer, in_size, out_size);
- return;
- }
+ if (cmd_p->command_code == command_code)
+ return cmd_p->handler(command_code, buffer,
+ in_size, out_size);
cmd_p++;
}
@@ -33,4 +32,5 @@ void extension_route_command(uint16_t command_code,
/* This covers the case of the handler not found. */
*out_size = 0;
+ return VENDOR_RC_NO_SUCH_COMMAND;
}