mirror of https://github.com/ipxe/ipxe.git
[vxge] Fix use of stale I/O buffer on error path
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/58/merge
parent
b340971852
commit
c13bf52509
|
@ -667,6 +667,8 @@ enum vxge_hw_status vxge_hw_vpath_poll_rx(struct __vxge_hw_ring *ring)
|
||||||
vxge_debug(VXGE_INFO, "%s: rx frame received at offset %d\n",
|
vxge_debug(VXGE_INFO, "%s: rx frame received at offset %d\n",
|
||||||
hldev->ndev->name, ring->rxd_offset);
|
hldev->ndev->name, ring->rxd_offset);
|
||||||
|
|
||||||
|
iobuf = (struct io_buffer *)(intptr_t)rxd->host_control;
|
||||||
|
|
||||||
if (tcode != VXGE_HW_RING_T_CODE_OK) {
|
if (tcode != VXGE_HW_RING_T_CODE_OK) {
|
||||||
netdev_rx_err(hldev->ndev, NULL, -EINVAL);
|
netdev_rx_err(hldev->ndev, NULL, -EINVAL);
|
||||||
vxge_debug(VXGE_ERR, "%s:%d, rx error tcode %d\n",
|
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)
|
||||||
goto err1;
|
goto err1;
|
||||||
}
|
}
|
||||||
|
|
||||||
iobuf = (struct io_buffer *)(intptr_t)rxd->host_control;
|
|
||||||
|
|
||||||
len = VXGE_HW_RING_RXD_1_BUFFER0_SIZE_GET(rxd->control_1);
|
len = VXGE_HW_RING_RXD_1_BUFFER0_SIZE_GET(rxd->control_1);
|
||||||
len -= ETH_FCS_LEN;
|
len -= ETH_FCS_LEN;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue