summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2015-10-30 15:16:01 +0000
committerZefan Li <lizefan@huawei.com>2016-10-26 23:15:39 +0800
commitac2ce7ef843b5f2b1aec3116f5f55ccde179aa9e (patch)
tree4e898cf1369e14534552c0e68e4f372a0e0e3f58
parentffac74669117c65a25fa0a9c5194ef70fb95ee70 (diff)
downloadlinux-stable-ac2ce7ef843b5f2b1aec3116f5f55ccde179aa9e.tar.gz
linux-stable-ac2ce7ef843b5f2b1aec3116f5f55ccde179aa9e.tar.bz2
linux-stable-ac2ce7ef843b5f2b1aec3116f5f55ccde179aa9e.zip
xen-netback: don't use last request to determine minimum Tx credit
commit 0f589967a73f1f30ab4ac4dd9ce0bb399b4d6357 upstream. The last from guest transmitted request gives no indication about the minimum amount of credit that the guest might need to send a packet since the last packet might have been a small one. Instead allow for the worst case 128 KiB packet. This is part of XSA155. Reviewed-by: Wei Liu <wei.liu2@citrix.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> [lizf: Backported to 3.4: s/queue/vif/g] Signed-off-by: Zefan Li <lizefan@huawei.com>
-rw-r--r--drivers/net/xen-netback/netback.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index cd4966bcb2d2..25d4c31ea0a2 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -856,9 +856,7 @@ static void tx_add_credit(struct xenvif *vif)
* Allow a burst big enough to transmit a jumbo packet of up to 128kB.
* Otherwise the interface can seize up due to insufficient credit.
*/
- max_burst = RING_GET_REQUEST(&vif->tx, vif->tx.req_cons)->size;
- max_burst = min(max_burst, 131072UL);
- max_burst = max(max_burst, vif->credit_bytes);
+ max_burst = max(131072UL, vif->credit_bytes);
/* Take care that adding a new chunk of credit doesn't wrap to zero. */
max_credit = vif->remaining_credit + vif->credit_bytes;