staging: nvec: Add battery quirk to ignore incomplete responses

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@jak-linux.org>
Acked-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Julian Andres Klode 2011-09-27 19:01:04 +02:00 committed by Greg Kroah-Hartman
parent 1e46e6273b
commit d6bdcf2e10
1 changed files with 5 additions and 0 deletions

View File

@ -446,6 +446,11 @@ static void nvec_rx_completed(struct nvec_chip *nvec)
nvec_msg_free(nvec, nvec->rx); nvec_msg_free(nvec, nvec->rx);
nvec->state = 0; nvec->state = 0;
/* Battery quirk - Often incomplete, and likes to crash */
if (nvec->rx->data[0] == NVEC_BAT)
complete(&nvec->ec_transfer);
return; return;
} }