[PATCH v2 26/30] staging: nvec: Add battery quirk to ignore incomplete responses

Julian Andres Klode jak at jak-linux.org
Tue Sep 27 17:01:04 UTC 2011


The nvec_power system polls nvec for battery information. In some
cases, that part seems to be overloaded and unable to respond
fast in which case it sends an incomplete response. We need to
mark the transfer as completed, though, in order to prevent
endless retries which can kill nvec.

Signed-off-by: Julian Andres Klode <jak at jak-linux.org>
Acked-by: Marc Dietrich <marvin24 at gmx.de>
---
 drivers/staging/nvec/nvec.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index 8c01723..a80f993 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -446,6 +446,11 @@ static void nvec_rx_completed(struct nvec_chip *nvec)
 
 		nvec_msg_free(nvec, nvec->rx);
 		nvec->state = 0;
+
+		/* Battery quirk - Often incomplete, and likes to crash */
+		if (nvec->rx->data[0] == NVEC_BAT)
+			complete(&nvec->ec_transfer);
+
 		return;
 	}
 
-- 
1.7.5.4




More information about the devel mailing list