build error on gcc version 8.1.1 20180502 (Red Hat 8.1.1-1),
with optimization level >= O2

.../drivers/net/virtio/virtio_rxtx.c:
   In function ‘virtio_xmit_cleanup_inorder’:
.../drivers/net/virtio/virtio_rxtx.c:195:24:
   error: ‘desc_idx’ may be used uninitialized in this function
   [-Werror=maybe-uninitialized]
  uint16_t i, used_idx, desc_idx, last_idx;
                        ^~~~~~~~
Optimization option fcode-hoisting will cause error on gcc 8.x.x.
Initialize desc_idx before using can fix build error.

Fixes: e3851816e63c ("net/virtio: support in-order Rx and Tx")

Reported-by: Ferruh Yigit <ferruh.yi...@intel.com>
Signed-off-by: Marvin Liu <yong....@intel.com>

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 6394071b8..19beb4bf4 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -192,7 +192,8 @@ virtio_xmit_cleanup(struct virtqueue *vq, uint16_t num)
 static void
 virtio_xmit_cleanup_inorder(struct virtqueue *vq, uint16_t num)
 {
-       uint16_t i, used_idx, desc_idx, last_idx;
+       uint16_t i, used_idx, last_idx;
+       uint16_t desc_idx = 0;
        int16_t free_cnt = 0;
        struct vq_desc_extra *dxp = NULL;
 
-- 
2.17.0

Reply via email to