35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
|
From 3b1e3e4e362453df8cecbc6d481444be8b84326e Mon Sep 17 00:00:00 2001
|
||
|
From: Huawei Xie <huawei.xie@intel.com>
|
||
|
Date: Fri, 11 Dec 2015 00:07:32 +0800
|
||
|
Subject: [PATCH] virtio: fix descriptors pointing to the same buffer
|
||
|
|
||
|
The virtio_net_hdr desc all pointed to the same buffer. It doesn't cause
|
||
|
issue because in the simple TX mode we don't use the header. This patch
|
||
|
makes the header desc point to different buffer.
|
||
|
|
||
|
Fixes: b4ae9c505f2e ("virtio: optimize ring layout")
|
||
|
|
||
|
Signed-off-by: Huawei Xie <huawei.xie@intel.com>
|
||
|
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
|
||
|
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
|
||
|
---
|
||
|
drivers/net/virtio/virtio_rxtx.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
|
||
|
index e96352c..a7a58be 100644
|
||
|
--- a/drivers/net/virtio/virtio_rxtx.c
|
||
|
+++ b/drivers/net/virtio/virtio_rxtx.c
|
||
|
@@ -353,7 +353,7 @@ virtio_dev_vring_start(struct virtqueue *vq, int queue_type)
|
||
|
vq->vq_ring.desc[i + mid_idx].next = i;
|
||
|
vq->vq_ring.desc[i + mid_idx].addr =
|
||
|
vq->virtio_net_hdr_mem +
|
||
|
- mid_idx * vq->hw->vtnet_hdr_size;
|
||
|
+ i * vq->hw->vtnet_hdr_size;
|
||
|
vq->vq_ring.desc[i + mid_idx].len =
|
||
|
vq->hw->vtnet_hdr_size;
|
||
|
vq->vq_ring.desc[i + mid_idx].flags =
|
||
|
--
|
||
|
2.6.2
|
||
|
|