diff options
| author | Michael Brown | 2008-10-03 01:07:52 +0200 |
|---|---|---|
| committer | Michael Brown | 2008-11-11 06:31:06 +0100 |
| commit | d9751edafa08b2ec3779004d4209400b95884cd4 (patch) | |
| tree | 532aaeda86668006aee5fc6994e6f0b773c2a427 /src/include/sys | |
| parent | [ne2k_isa] Restore support for ne2k isa cards (diff) | |
| download | ipxe-d9751edafa08b2ec3779004d4209400b95884cd4.tar.gz ipxe-d9751edafa08b2ec3779004d4209400b95884cd4.tar.xz ipxe-d9751edafa08b2ec3779004d4209400b95884cd4.zip | |
[infiniband] Flush uncompleted work queue entries at QP teardown
Avoid leaking I/O buffers in ib_destroy_qp() by completing any
outstanding work queue entries with a generic error code. This
requires the completion handlers to be available to ib_destroy_qp(),
which is done by making them static configuration parameters of the CQ
(set by ib_create_cq()) rather than being provided on each call to
ib_poll_cq().
This mimics the functionality of netdev_{tx,rx}_flush(). The netdev
flush functions would previously have been catching any I/O buffers
leaked by the IPoIB data queue (though not by the IPoIB metadata
queue).
Diffstat (limited to 'src/include/sys')
0 files changed, 0 insertions, 0 deletions
