aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Durrant <[email protected]>2016-05-12 14:43:03 +0100
committerDavid S. Miller <[email protected]>2016-05-13 01:58:57 -0400
commit72eec92accabe3ec34f27a9d3cd459bf5a877c33 (patch)
treed07b8efd285ace217906ebee72f712bbaabe5a54
parent2073dbad172f5d55545c1aadc5f7ce8792dfc060 (diff)
xen-netback: fix extra_info handling in xenvif_tx_err()
Patch 562abd39 "xen-netback: support multiple extra info fragments passed from frontend" contained a mistake which can result in an in- correct number of responses being generated when handling errors encountered when processing packets containing extra info fragments. This patch fixes the problem. Signed-off-by: Paul Durrant <[email protected]> Reported-by: Jan Beulich <[email protected]> Cc: Wei Liu <[email protected]> Acked-by: Wei Liu <[email protected]> Signed-off-by: David S. Miller <[email protected]>
-rw-r--r--drivers/net/xen-netback/netback.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index b42f26029225..4412a57ec862 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -711,6 +711,7 @@ static void xenvif_tx_err(struct xenvif_queue *queue,
if (cons == end)
break;
RING_COPY_REQUEST(&queue->tx, cons++, txp);
+ extra_count = 0; /* only the first frag can have extras */
} while (1);
queue->tx.req_cons = cons;
}