From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Nicholas Mc Guire <hofrat@osadl.org>,
Michal Simek <michal.simek@xilinx.com>
Cc: Soren Brinkmann <soren.brinkmann@xilinx.com>,
Wolfram Sang <wsa@the-dreams.de>,
linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2] i2c: cadence: fixup of wait_for_completion_timeout return handling
Date: Tue, 10 Feb 2015 17:17:24 +0300 [thread overview]
Message-ID: <54DA12F4.3080203@cogentembedded.com> (raw)
In-Reply-To: <1423494232-24747-1-git-send-email-hofrat@osadl.org>
Hello.
On 2/9/2015 6:03 PM, Nicholas Mc Guire wrote:
> return type of wait_for_completion_timeout is unsigned long not int. The
> return variable is renamed to reflect its use and the type adjusted to
> unsigned long.
> Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
> ---
> v2: int ret is an idiom not only a declaration - thus rather than just
> changing the type, rename the variable, as suggested by Wolfram Sang
> <wsa@the-dreams.de>.
> Patch was only compile tested with multi_v7_defconfig
> (implies CONFIG_I2C_CADENCE=y)
> Patch is against 3.19.0-rc7 (localversion-next is -next-20150209)
> drivers/i2c/busses/i2c-cadence.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c
> index 7d7a14c..8f92732f 100644
> --- a/drivers/i2c/busses/i2c-cadence.c
> +++ b/drivers/i2c/busses/i2c-cadence.c
> @@ -475,7 +475,7 @@ static void cdns_i2c_master_reset(struct i2c_adapter *adap)
> static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
> struct i2c_adapter *adap)
> {
> - int ret;
> + unsigned long timeout;
> u32 reg;
>
> id->p_msg = msg;
> @@ -501,8 +501,8 @@ static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
> cdns_i2c_msend(id);
>
> /* Wait for the signal of completion */
> - ret = wait_for_completion_timeout(&id->xfer_done, adap->timeout);
> - if (!ret) {
> + timeout = wait_for_completion_timeout(&id->xfer_done, adap->timeout);
> + if (!timeout) {
Which means that timeout *did* expire, contrary to what one may think. I
don't think this is a good name for the variable, I'd suggest something like
'time_left' instead...
> cdns_i2c_master_reset(adap);
> dev_err(id->adap.dev.parent,
> "timeout waiting on completion\n");
WBR, Sergei
WARNING: multiple messages have this Message-ID (diff)
From: sergei.shtylyov@cogentembedded.com (Sergei Shtylyov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] i2c: cadence: fixup of wait_for_completion_timeout return handling
Date: Tue, 10 Feb 2015 17:17:24 +0300 [thread overview]
Message-ID: <54DA12F4.3080203@cogentembedded.com> (raw)
In-Reply-To: <1423494232-24747-1-git-send-email-hofrat@osadl.org>
Hello.
On 2/9/2015 6:03 PM, Nicholas Mc Guire wrote:
> return type of wait_for_completion_timeout is unsigned long not int. The
> return variable is renamed to reflect its use and the type adjusted to
> unsigned long.
> Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
> ---
> v2: int ret is an idiom not only a declaration - thus rather than just
> changing the type, rename the variable, as suggested by Wolfram Sang
> <wsa@the-dreams.de>.
> Patch was only compile tested with multi_v7_defconfig
> (implies CONFIG_I2C_CADENCE=y)
> Patch is against 3.19.0-rc7 (localversion-next is -next-20150209)
> drivers/i2c/busses/i2c-cadence.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c
> index 7d7a14c..8f92732f 100644
> --- a/drivers/i2c/busses/i2c-cadence.c
> +++ b/drivers/i2c/busses/i2c-cadence.c
> @@ -475,7 +475,7 @@ static void cdns_i2c_master_reset(struct i2c_adapter *adap)
> static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
> struct i2c_adapter *adap)
> {
> - int ret;
> + unsigned long timeout;
> u32 reg;
>
> id->p_msg = msg;
> @@ -501,8 +501,8 @@ static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
> cdns_i2c_msend(id);
>
> /* Wait for the signal of completion */
> - ret = wait_for_completion_timeout(&id->xfer_done, adap->timeout);
> - if (!ret) {
> + timeout = wait_for_completion_timeout(&id->xfer_done, adap->timeout);
> + if (!timeout) {
Which means that timeout *did* expire, contrary to what one may think. I
don't think this is a good name for the variable, I'd suggest something like
'time_left' instead...
> cdns_i2c_master_reset(adap);
> dev_err(id->adap.dev.parent,
> "timeout waiting on completion\n");
WBR, Sergei
next prev parent reply other threads:[~2015-02-10 14:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-09 15:03 [PATCH v2] i2c: cadence: fixup of wait_for_completion_timeout return handling Nicholas Mc Guire
2015-02-09 15:03 ` Nicholas Mc Guire
2015-02-09 16:15 ` Sören Brinkmann
2015-02-09 16:15 ` Sören Brinkmann
2015-02-09 16:15 ` Sören Brinkmann
2015-02-10 14:17 ` Sergei Shtylyov [this message]
2015-02-10 14:17 ` Sergei Shtylyov
[not found] ` <54DA12F4.3080203-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2015-02-10 14:55 ` Nicholas Mc Guire
2015-02-10 14:55 ` Nicholas Mc Guire
2015-02-10 14:55 ` Nicholas Mc Guire
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=54DA12F4.3080203@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=hofrat@osadl.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@xilinx.com \
--cc=soren.brinkmann@xilinx.com \
--cc=wsa@the-dreams.de \
/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.