Browse Source

[vxge] Fix use of stale I/O buffer on error path

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 7 years ago
parent
commit
c13bf52509
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      src/drivers/net/vxge/vxge_traffic.c

+ 2
- 2
src/drivers/net/vxge/vxge_traffic.c View File

@@ -667,6 +667,8 @@ enum vxge_hw_status vxge_hw_vpath_poll_rx(struct __vxge_hw_ring *ring)
667 667
 		vxge_debug(VXGE_INFO, "%s: rx frame received at offset %d\n",
668 668
 			hldev->ndev->name, ring->rxd_offset);
669 669
 
670
+		iobuf = (struct io_buffer *)(intptr_t)rxd->host_control;
671
+
670 672
 		if (tcode != VXGE_HW_RING_T_CODE_OK) {
671 673
 			netdev_rx_err(hldev->ndev, NULL, -EINVAL);
672 674
 			vxge_debug(VXGE_ERR, "%s:%d, rx error tcode %d\n",
@@ -675,8 +677,6 @@ enum vxge_hw_status vxge_hw_vpath_poll_rx(struct __vxge_hw_ring *ring)
675 677
 			goto err1;
676 678
 		}
677 679
 
678
-		iobuf = (struct io_buffer *)(intptr_t)rxd->host_control;
679
-
680 680
 		len = VXGE_HW_RING_RXD_1_BUFFER0_SIZE_GET(rxd->control_1);
681 681
 		len -= ETH_FCS_LEN;
682 682
 

Loading…
Cancel
Save