diff options
author | Michael Brown | 2017-03-21 14:07:10 +0100 |
---|---|---|
committer | Michael Brown | 2017-03-21 14:07:10 +0100 |
commit | 1ec2a60614ea0f27843d553d3ee698f9e8d43d79 (patch) | |
tree | a7bf9da34b6013f88c2042dd19bcf3bcacc62678 /src/drivers | |
parent | [slam] Avoid NULL pointer dereference in slam_pull_value() (diff) | |
download | ipxe-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.c | 3 |
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 ( ©->list ); err_alloc: - netdev_tx_complete_err ( netdev, copy, rc ); + netdev_tx_err ( netdev, copy, rc ); } /** |