提交 210ceb4f 编写于 作者: J Julian Andres Klode 提交者: Greg Kroah-Hartman

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: NJulian Andres Klode <jak@jak-linux.org>
Acked-by: NMarc Dietrich <marvin24@gmx.de>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 8da79863
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册