As the comment indicates, adding that udelay seems to
improve the stability of the communication, although
it is not known why this is the case.

Signed-off-by: Julian Andres Klode <[email protected]>
Acked-by: Marc Dietrich <[email protected]>
---
 drivers/staging/nvec/nvec.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index 8915344..07c8e09 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -656,6 +656,15 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
                status & RCVD ? " RCVD" : "",
                status & RNW ? " RNW" : "");
 
+
+       /*
+        * TODO: A correct fix needs to be found for this.
+        *
+        * We experience less incomplete messages with this delay than without
+        * it, but we don't know why. Help is appreciated.
+        */
+       udelay(100);
+
        return IRQ_HANDLED;
 }
 
-- 
1.7.5.4

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to