Skip to content

Commit

Permalink
mfd: cros_ec: Detect in-progress commands
Browse files Browse the repository at this point in the history
Some commands take a while to execute. Use -EAGAIN to signal this to the
caller.

Signed-off-by: Simon Glass <[email protected]>
Signed-off-by: Doug Anderson <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
  • Loading branch information
sjg20 authored and Lee Jones committed Jul 9, 2014
1 parent 7e6cb5b commit 9c5edb6
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/mfd/cros_ec_spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,12 @@ static int cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev,
/* check response error code */
ptr = ec_dev->din;
if (ptr[0]) {
if (ptr[0] == EC_RES_IN_PROGRESS) {
dev_dbg(ec_dev->dev, "command 0x%02x in progress\n",
ec_msg->cmd);
ret = -EAGAIN;
goto exit;
}
dev_warn(ec_dev->dev, "command 0x%02x returned an error %d\n",
ec_msg->cmd, ptr[0]);
debug_packet(ec_dev->dev, "in_err", ptr, len);
Expand Down

0 comments on commit 9c5edb6

Please sign in to comment.