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.carpen...@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 <abbo...@mev.co.uk>

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

--
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbo...@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to