public inbox for kernel-janitors@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] staging: comedi: dt282x: dt282x_ai_insn_read() always fails
@ 2013-08-20  8:57 Dan Carpenter
  2013-08-20  9:50 ` Ian Abbott
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2013-08-20  8:57 UTC (permalink / raw)
  To: kernel-janitors

In dt282x_ai_insn_read() we call this macro like:
wait_for(!mux_busy(), comedi_error(dev, "timeout\n"); return -ETIME;);
Because the if statement doesn't have curly braces it means we always
return -ETIME and the function never succeeds.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
This macro is very ugly, btw.

diff --git a/drivers/staging/comedi/drivers/dt282x.c b/drivers/staging/comedi/drivers/dt282x.c
index 23cb0335..4a25382 100644
--- a/drivers/staging/comedi/drivers/dt282x.c
+++ b/drivers/staging/comedi/drivers/dt282x.c
@@ -267,8 +267,9 @@ struct dt282x_private {
 			}					\
 			udelay(5);				\
 		}						\
-		if (_i)						\
+		if (_i) {					\
 			b					\
+		}						\
 	} while (0)
 
 static int prep_ai_dma(struct comedi_device *dev, int chan, int size);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [patch] staging: comedi: dt282x: dt282x_ai_insn_read() always fails
  2013-08-20  8:57 [patch] staging: comedi: dt282x: dt282x_ai_insn_read() always fails Dan Carpenter
@ 2013-08-20  9:50 ` Ian Abbott
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Abbott @ 2013-08-20  9:50 UTC (permalink / raw)
  To: kernel-janitors

On 2013-08-20 09:57, Dan Carpenter wrote:
> In dt282x_ai_insn_read() we call this macro like:
> wait_for(!mux_busy(), comedi_error(dev, "timeout\n"); return -ETIME;);
> Because the if statement doesn't have curly braces it means we always
> return -ETIME and the function never succeeds.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> This macro is very ugly, btw.
>
> diff --git a/drivers/staging/comedi/drivers/dt282x.c b/drivers/staging/comedi/drivers/dt282x.c
> index 23cb0335..4a25382 100644
> --- a/drivers/staging/comedi/drivers/dt282x.c
> +++ b/drivers/staging/comedi/drivers/dt282x.c
> @@ -267,8 +267,9 @@ struct dt282x_private {
>   			}					\
>   			udelay(5);				\
>   		}						\
> -		if (_i)						\
> +		if (_i) {					\
>   			b					\
> +		}						\
>   	} while (0)
>
>   static int prep_ai_dma(struct comedi_device *dev, int chan, int size);
>

Acked-by: Ian Abbott <abbotti@mev.co.uk>

The bug was introduced by commit 
18e7e78e945527d9cb570a17f0835815f1794c2f in mainline.  And yes, it is ugly.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-08-20  9:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-20  8:57 [patch] staging: comedi: dt282x: dt282x_ai_insn_read() always fails Dan Carpenter
2013-08-20  9:50 ` Ian Abbott

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox