All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Xin Ji <xji@analogixsemi.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	bliang@analogixsemi.com, qwen@analogixsemi.com,
	jli@analogixsemi.com, linux-kernel@vger.kernel.org,
	linux-usb@vger.kernel.org
Subject: Re: [PATCH v12 3/3] usb: typec: anx7411: Add Analogix PD ANX7411 support
Date: Tue, 28 Jun 2022 08:26:07 +0200	[thread overview]
Message-ID: <Yrqe/3Mpnmw4sfyx@kroah.com> (raw)
In-Reply-To: <20220628044843.2257885-3-xji@analogixsemi.com>

On Tue, Jun 28, 2022 at 12:48:42PM +0800, Xin Ji wrote:
> +static int anx7411_process_cmd(struct anx7411_data *ctx)
> +{
> +	struct device *dev = &ctx->spi_client->dev;
> +	struct fw_msg *msg = &ctx->recv_msg;
> +	u8 len;
> +	u8 crc;
> +	int ret;
> +
> +	/* Read message from firmware */
> +	ret = anx7411_reg_block_read(ctx->spi_client, CMD_RECV_BUF,
> +				     MSG_LEN, (u8 *)msg);
> +	if (ret < 0)
> +		return 0;
> +
> +	if (!msg->msg_len)
> +		return 0;
> +
> +	anx7411_reg_write(ctx->spi_client, CMD_RECV_BUF, 0);

Again, you are not checking the return value here.  What happens if this
failed?

> +
> +	len = msg->msg_len & MSG_LEN_MASK;
> +	crc = checksum(dev, (u8 *)msg, len + HEADER_LEN);
> +	if (crc) {
> +		dev_err(dev, "message error crc(0x%.02x)\n", crc);
> +		return -ERANGE;
> +	}
> +
> +	return anx7411_parse_cmd(ctx, msg->msg_type, msg->buf, len - 1);
> +}
> +
> +static void anx7411_translate_payload(struct device *dev, __le32 *payload,
> +				      u32 *pdo, int nr, const char *type)
> +{
> +	int i;
> +
> +	if (nr > PDO_MAX_OBJECTS) {
> +		dev_err(dev, "nr(%d) exceed PDO_MAX_OBJECTS(%d)\n",
> +			nr, PDO_MAX_OBJECTS);
> +
> +		return;
> +	}
> +
> +	for (i = 0; i < nr; i++)
> +		payload[i] = cpu_to_le32(pdo[i]);
> +}
> +
> +static void anx7411_config(struct anx7411_data *ctx)
> +{
> +	struct device *dev = &ctx->spi_client->dev;
> +	struct typec_params *typecp = &ctx->typec;
> +	__le32 payload[PDO_MAX_OBJECTS];
> +
> +	/* Config PD FW work under PD 2.0 */
> +	anx7411_reg_write(ctx->spi_client, PD_REV_INIT, PD_REV20);
> +	anx7411_reg_write(ctx->tcpc_client, FW_CTRL_0,
> +			  UNSTRUCT_VDM_EN | DELAY_200MS |
> +			  VSAFE1 | FRS_EN);
> +	anx7411_reg_write(ctx->spi_client, FW_CTRL_1,
> +			  AUTO_PD_EN | FORCE_SEND_RDO);

Same with all of these, what happens if this fails?

thanks,

greg k-h

  parent reply	other threads:[~2022-06-28  6:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-28  4:48 [PATCH v12 1/3] usb: typec: tcpci: move tcpci.h to include/linux/usb/ Xin Ji
2022-06-28  4:48 ` Xin Ji
2022-06-28  4:48 ` [PATCH v12 2/3] dt-bindings: usb: Add analogix anx7411 PD binding Xin Ji
2022-06-29 10:12   ` Krzysztof Kozlowski
2022-07-05  2:53     ` Xin Ji
2022-06-28  4:48 ` [PATCH v12 3/3] usb: typec: anx7411: Add Analogix PD ANX7411 support Xin Ji
2022-06-28  6:19   ` Greg Kroah-Hartman
2022-06-28  6:26   ` Greg Kroah-Hartman [this message]
2022-07-05  2:55     ` Xin Ji
2022-06-28 10:48   ` Heikki Krogerus
2022-07-05  2:57     ` Xin Ji

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yrqe/3Mpnmw4sfyx@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=bliang@analogixsemi.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jli@analogixsemi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=qwen@analogixsemi.com \
    --cc=xji@analogixsemi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.