summaryrefslogtreecommitdiffstats
path: root/src/drivers
diff options
context:
space:
mode:
authorMichael Brown2017-03-21 14:07:10 +0100
committerMichael Brown2017-03-21 14:07:10 +0100
commit1ec2a60614ea0f27843d553d3ee698f9e8d43d79 (patch)
treea7bf9da34b6013f88c2042dd19bcf3bcacc62678 /src/drivers
parent[slam] Avoid NULL pointer dereference in slam_pull_value() (diff)
downloadipxe-1ec2a60614ea0f27843d553d3ee698f9e8d43d79.tar.gz
ipxe-1ec2a60614ea0f27843d553d3ee698f9e8d43d79.tar.xz
ipxe-1ec2a60614ea0f27843d553d3ee698f9e8d43d79.zip
[eoib] Avoid passing a NULL I/O buffer to netdev_tx_complete_err()
Report errors in eoib_duplicate() via netdev_tx_err() rather than netdev_tx_complete_err(), since netdev_tx_complete_err() accepts only valid I/O buffers that are currently in the network device's transmit queue. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/net/eoib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/net/eoib.c b/src/drivers/net/eoib.c
index f58e74b7..e8247837 100644
--- a/src/drivers/net/eoib.c
+++ b/src/drivers/net/eoib.c
@@ -870,8 +870,9 @@ static void eoib_duplicate ( struct eoib_device *eoib,
err_post_send:
err_path:
+ list_del ( &copy->list );
err_alloc:
- netdev_tx_complete_err ( netdev, copy, rc );
+ netdev_tx_err ( netdev, copy, rc );
}
/**