[-iio list][+kernel list]

On Tue, Aug 25, 2020 at 5:29 PM Gwendal Grignou <gwen...@chromium.org> wrote:
>
> 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
>
> Signed-off-by: Gwendal Grignou <gwen...@chromium.org>
> ---
> Changes since v1:
> - Remove BUG and TEST fields.
>
>  drivers/platform/chrome/cros_ec_lightbar.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/chrome/cros_ec_lightbar.c 
> b/drivers/platform/chrome/cros_ec_lightbar.c
> index b59180bff5a3e..ef61298c30bdd 100644
> --- a/drivers/platform/chrome/cros_ec_lightbar.c
> +++ b/drivers/platform/chrome/cros_ec_lightbar.c
> @@ -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 = 0;
> --
> 2.28.0.297.g1956fa8f8d-goog
>

Reply via email to