* [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