RE: [PATCH v2 1/3] media: pci: intel: ivsc: Add CSI submodule
From: Wu, Wentong
Date: Fri Feb 17 2023 - 02:37:46 EST
> -----Original Message-----
> From: Hillf Danton <hdanton@xxxxxxxx>
> Sent: Friday, February 17, 2023 2:28 PM
>
> On Fri, 17 Feb 2023 05:52:38 +0000 Wentong Wu <wentong.wu@xxxxxxxxx>
> >
> > Thanks, but what do you mean "emulated"?=20
> >
> Construct a scenario that ensures wakeup comes late because of no wait for
> completion. And we can see what will happen with the current test cases.
Thanks, I will remove reinit_completion
>
> > static int mei_csi_send(u8 *buf, size_t len)
> > +{
> > + struct csi_cmd *cmd = (struct csi_cmd *)buf;
> > + int ret;
> > +
> > + reinit_completion(&csi->cmd_completion);
> > +
> > + ret = mei_cldev_send(csi->cldev, buf, len);
> > + if (ret < 0)
> > + goto out;
>
> return -ETIMEDOUT;
>
> > +
> > + ret = wait_for_completion_killable_timeout(&csi->cmd_completion,
> > + CSI_CMD_TIMEOUT);
> > + if (ret < 0) {
> > + goto out;
> > + } else if (!ret) {
> > + ret = -ETIMEDOUT;
> > + goto out;
> > + }
> > +
> > + /* command response status */
> > + ret = csi->cmd_response.status;
> > + if (ret) {
> > + ret = -EINVAL;
> > + goto out;
> > + }
> > +
> > + if (csi->cmd_response.cmd_id != cmd->cmd_id)
> > + ret = -EINVAL;
> > +
> > +out:
> > + return ret;
> > +}