staging: nvec: Reject incomplete messages
Reject incomplete messages, causing the request to be transmitted again. This should fix various problems out there. 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:
parent
8da7986343
commit
210ceb4f68
@ -439,11 +439,16 @@ static void nvec_tx_completed(struct nvec_chip *nvec)
|
||||
*/
|
||||
static void nvec_rx_completed(struct nvec_chip *nvec)
|
||||
{
|
||||
if (nvec->rx->pos != nvec_msg_size(nvec->rx))
|
||||
if (nvec->rx->pos != nvec_msg_size(nvec->rx)) {
|
||||
dev_err(nvec->dev, "RX incomplete: Expected %u bytes, got %u\n",
|
||||
(uint) nvec_msg_size(nvec->rx),
|
||||
(uint) nvec->rx->pos);
|
||||
|
||||
nvec_msg_free(nvec, nvec->rx);
|
||||
nvec->state = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
spin_lock(&nvec->rx_lock);
|
||||
|
||||
/* add the received data to the work list
|
||||
|
Loading…
Reference in New Issue
Block a user