cros_ec: Adjust to use v1 vboot context only
authorSimon Glass <sjg@chromium.org>
Sat, 24 Nov 2018 04:29:37 +0000 (21:29 -0700)
committerSimon Glass <sjg@chromium.org>
Wed, 5 Dec 2018 13:01:34 +0000 (06:01 -0700)
At present there are no users of the 64-byte v2 context. The v1 context is
only 16 bytes long and currently an error is raised if too much data is
returned from the EC.

Update the code to limit the size to 16 bytes.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/misc/cros_ec_sandbox.c

index 429f1a9b269dadfd1a113ffcd8d2366df0b9e06c..4fcb2d96f513e924a0612fea1cd213d6644bf11d 100644 (file)
@@ -313,13 +313,15 @@ static int process_cmd(struct ec_state *ec,
 
                switch (req->op) {
                case EC_VBNV_CONTEXT_OP_READ:
+                       /* TODO(sjg@chromium.org): Support full-size context */
                        memcpy(resp->block, ec->vbnv_context,
-                              sizeof(resp->block));
-                       len = sizeof(*resp);
+                              EC_VBNV_BLOCK_SIZE);
+                       len = 16;
                        break;
                case EC_VBNV_CONTEXT_OP_WRITE:
-                       memcpy(ec->vbnv_context, resp->block,
-                              sizeof(resp->block));
+                       /* TODO(sjg@chromium.org): Support full-size context */
+                       memcpy(ec->vbnv_context, req->block,
+                              EC_VBNV_BLOCK_SIZE);
                        len = 0;
                        break;
                default: