]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen-netback: fix extra_info handling in xenvif_tx_err()
authorPaul Durrant <Paul.Durrant@citrix.com>
Thu, 12 May 2016 13:43:03 +0000 (14:43 +0100)
committerChuck Anderson <chuck.anderson@oracle.com>
Tue, 7 Feb 2017 05:47:13 +0000 (21:47 -0800)
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>
(cherry picked from commit 72eec92accabe3ec34f27a9d3cd459bf5a877c33)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Orabug: 25445336
Tested-by: Majid Valiollahzadeh <majid.valiollahzadeh@oracle.com>
drivers/net/xen-netback/netback.c

index 023de9adf407fdf988e3f2afeb5530a493751009..663a35add692550a724bfa6364985dd2d94b8b49 100644 (file)
@@ -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;
 }