From: Tzung-Bi Shih Date: Mon, 18 Jul 2022 05:09:14 +0000 (+0000) Subject: platform/chrome: cros_ec_proto: return -EPROTO if empty payload X-Git-Tag: block-6.0-2022-08-12~11^2~10 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=3e1c715ea179201372384fad738680d524600985;p=linux-2.6-block.git platform/chrome: cros_ec_proto: return -EPROTO if empty payload cros_ec_wait_until_complete() sends EC_CMD_GET_COMMS_STATUS which expects to receive sizeof(struct ec_response_get_comms_status) from cros_ec_xfer_command(). Return -EPROTO if cros_ec_xfer_command() returns 0. Reviewed-by: Guenter Roeck Signed-off-by: Tzung-Bi Shih Link: https://lore.kernel.org/r/20220718050914.2267370-11-tzungbi@kernel.org --- diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c index 9dec475edc84..05d2e8765a66 100644 --- a/drivers/platform/chrome/cros_ec_proto.c +++ b/drivers/platform/chrome/cros_ec_proto.c @@ -163,6 +163,11 @@ static int cros_ec_wait_until_complete(struct cros_ec_device *ec_dev, uint32_t * if (msg->result != EC_RES_SUCCESS) return ret; + if (ret == 0) { + ret = -EPROTO; + break; + } + if (!(status->flags & EC_COMMS_STATUS_PROCESSING)) return ret; }