Commit 71d3ae7f authored by Tzung-Bi Shih's avatar Tzung-Bi Shih
Browse files

platform/chrome: correct cros_ec_prepare_tx() usage



cros_ec_prepare_tx() returns either:
- >= 0 for number of prepared bytes.
- < 0 for -errno.

Correct the comment and make sure all callers check the return code.

Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
Signed-off-by: default avatarTzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/20220513044143.1045728-3-tzungbi@kernel.org
parent 42701e7c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -89,6 +89,8 @@ static int cros_ec_pkt_xfer_i2c(struct cros_ec_device *ec_dev,

	ec_dev->dout++;
	ret = cros_ec_prepare_tx(ec_dev, msg);
	if (ret < 0)
		goto done;
	ec_dev->dout--;

	/* send command to EC and read answer */
+3 −1
Original line number Diff line number Diff line
@@ -521,7 +521,9 @@ static int cros_ec_pkt_xfer_ish(struct cros_ec_device *ec_dev,
	out_msg->hdr.status = 0;

	ec_dev->dout += OUT_MSG_EC_REQUEST_PREAMBLE;
	cros_ec_prepare_tx(ec_dev, msg);
	rv = cros_ec_prepare_tx(ec_dev, msg);
	if (rv < 0)
		goto end_error;
	ec_dev->dout -= OUT_MSG_EC_REQUEST_PREAMBLE;

	dev_dbg(dev,
+2 −0
Original line number Diff line number Diff line
@@ -147,6 +147,8 @@ static int cros_ec_pkt_xfer_lpc(struct cros_ec_device *ec,
	u8 *dout;

	ret = cros_ec_prepare_tx(ec, msg);
	if (ret < 0)
		goto done;

	/* Write buffer */
	cros_ec_lpc_ops.write(EC_LPC_ADDR_HOST_PACKET, ret, ec->dout);
+1 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ static int send_command(struct cros_ec_device *ec_dev,
 * only SPI uses it. Once LPC uses the same protocol it can start using it.
 * I2C could use it now, with a refactor of the existing code.
 *
 * Return: 0 on success or negative error code.
 * Return: number of prepared bytes on success or negative error code.
 */
int cros_ec_prepare_tx(struct cros_ec_device *ec_dev,
		       struct cros_ec_command *msg)
+2 −0
Original line number Diff line number Diff line
@@ -89,6 +89,8 @@ static int cros_ec_pkt_xfer_rpmsg(struct cros_ec_device *ec_dev,

	ec_msg->result = 0;
	len = cros_ec_prepare_tx(ec_dev, ec_msg);
	if (len < 0)
		return len;
	dev_dbg(ec_dev->dev, "prepared, len=%d\n", len);

	reinit_completion(&ec_rpmsg->xfer_ack);
Loading