[<prev] [next>] [day] [month] [year] [list]
Message-ID: <DM6PR11MB4316365C6A210BC728B5C4948DA19@DM6PR11MB4316.namprd11.prod.outlook.com>
Date: Fri, 17 Feb 2023 07:37:31 +0000
From: "Wu, Wentong" <wentong.wu@...el.com>
To: Hillf Danton <hdanton@...a.com>
CC: "mchehab@...nel.org" <mchehab@...nel.org>,
"sakari.ailus@...ux.intel.com" <sakari.ailus@...ux.intel.com>,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"Pandruvada, Srinivas" <srinivas.pandruvada@...el.com>,
"pierre-louis.bossart@...ux.intel.com"
<pierre-louis.bossart@...ux.intel.com>,
"Wang, Zhifeng" <zhifeng.wang@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 1/3] media: pci: intel: ivsc: Add CSI submodule
> -----Original Message-----
> From: Hillf Danton <hdanton@...a.com>
> Sent: Friday, February 17, 2023 2:28 PM
>
> On Fri, 17 Feb 2023 05:52:38 +0000 Wentong Wu <wentong.wu@...el.com>
> >
> > 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;
> > +}
Powered by blists - more mailing lists