Hi Gwendal, On 30/8/20 8:59, Gwendal Grignou 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 > > Fixes: a841178445bb7 ("mfd: cros_ec: Use a zero-length array for command > data") > Signed-off-by: Gwendal Grignou <gwen...@chromium.org>
I changed the subject to match "platform/chrome: cros_ec_lightbar" and applied for 5.10. Thanks, Enric > --- > Changes since v2: > - Add fix field where the inefficiency was present. > > 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; >