diff options
author | Paul Durrant <Paul.Durrant@citrix.com> | 2016-05-12 09:43:03 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-05-13 01:58:57 -0400 |
commit | 72eec92accabe3ec34f27a9d3cd459bf5a877c33 (patch) | |
tree | d07b8efd285ace217906ebee72f712bbaabe5a54 | |
parent | 2073dbad172f5d55545c1aadc5f7ce8792dfc060 (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 <paul.durrant@citrix.com>
Reported-by: Jan Beulich <JBeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/xen-netback/netback.c | 1 |
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, | |||
711 | if (cons == end) | 711 | if (cons == end) |
712 | break; | 712 | break; |
713 | RING_COPY_REQUEST(&queue->tx, cons++, txp); | 713 | RING_COPY_REQUEST(&queue->tx, cons++, txp); |
714 | extra_count = 0; /* only the first frag can have extras */ | ||
714 | } while (1); | 715 | } while (1); |
715 | queue->tx.req_cons = cons; | 716 | queue->tx.req_cons = cons; |
716 | } | 717 | } |