]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command
authorGwendal Grignou <gwendal@chromium.org>
Sun, 30 Aug 2020 06:59:37 +0000 (23:59 -0700)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Fri, 4 Sep 2020 07:30:04 +0000 (09:30 +0200)
By default, the lightbar commands are set to the biggest lightbar command
and response. That length is greater than 128 bytes and may not work on
all machines. But all EC are probed for lightbar by sending a get version
request. Set that request size precisely.

Before the command would be:

  cros_ec_cmd: version: 0, command: EC_CMD_LIGHTBAR_CMD, outsize: 194, insize: 128, result: 0

Afer:

  cros_ec_cmd: version: 0, command: EC_CMD_LIGHTBAR_CMD, outsize: 1, insize: 8, result: 0

Fixes: a841178445bb7 ("mfd: cros_ec: Use a zero-length array for command data")
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
drivers/platform/chrome/cros_ec_lightbar.c

index 8445cda5792796222e17924977acaa144b005134..de8dfb12e48633f17b85ece80689bcdceed970bb 100644 (file)
@@ -116,6 +116,8 @@ static int get_lightbar_version(struct cros_ec_dev *ec,
 
        param = (struct ec_params_lightbar *)msg->data;
        param->cmd = LIGHTBAR_CMD_VERSION;
+       msg->outsize = sizeof(param->cmd);
+       msg->result = sizeof(resp->version);
        ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
        if (ret < 0 && ret != -EINVAL) {
                ret = 0;