Commit 064df885 authored by Guenter Roeck's avatar Guenter Roeck Committed by Enric Balletbo i Serra

cros_ec_lightbar: Accept more error codes from cros_ec_cmd_xfer_status

Since commit c5cd2b47 ("platform/chrome: cros_ec_proto: Report command
not supported") we can no longer assume that cros_ec_cmd_xfer_status()
reports -EPROTO for all errors returned by the EC itself. A follow-up
patch will change cros_ec_cmd_xfer_status() to report additional errors
reported by the EC as distinguished Linux error codes.

Handle this change by no longer assuming that -EPROTO is used to report
all errors returned by the EC itself. Since errors reported by the EC are
already reported in text form through sysfs attributes, extend this form
of error reporting to all errors reported by cros_ec_cmd_xfer_status().

Cc: Gwendal Grignou <gwendal@chromium.org>
Cc: Yu-Hsuan Hsu <yuhsuan@chromium.org>
Cc: Prashant Malani <pmalani@chromium.org>
Cc: Brian Norris <briannorris@chromium.org>
Reviewed-by: default avatarBrian Norris <briannorris@chromium.org>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
parent 1716420e
...@@ -117,7 +117,7 @@ static int get_lightbar_version(struct cros_ec_dev *ec, ...@@ -117,7 +117,7 @@ static int get_lightbar_version(struct cros_ec_dev *ec,
param = (struct ec_params_lightbar *)msg->data; param = (struct ec_params_lightbar *)msg->data;
param->cmd = LIGHTBAR_CMD_VERSION; param->cmd = LIGHTBAR_CMD_VERSION;
ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
if (ret < 0) { if (ret < 0 && ret != -EINVAL) {
ret = 0; ret = 0;
goto exit; goto exit;
} }
...@@ -298,11 +298,9 @@ static ssize_t sequence_show(struct device *dev, ...@@ -298,11 +298,9 @@ static ssize_t sequence_show(struct device *dev,
goto exit; goto exit;
ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
if (ret == -EPROTO) { if (ret < 0) {
ret = scnprintf(buf, PAGE_SIZE, ret = scnprintf(buf, PAGE_SIZE, "XFER / EC ERROR %d / %d\n",
"ERROR: EC returned %d\n", msg->result); ret, msg->result);
goto exit;
} else if (ret < 0) {
goto exit; goto exit;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment