]> err.no Git - linux-2.6/commit
IB/mthca: Simplify CQ cleaning in mthca_free_qp()
authorRoland Dreier <rolandd@cisco.com>
Tue, 24 Apr 2007 23:31:11 +0000 (16:31 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 24 Apr 2007 23:31:11 +0000 (16:31 -0700)
commit30c00986f3a610cdcee2602b8254c3ffa6cddc04
tree442b609d7375ca504992169060ba5897d8cbb06f
parent532c3b581725e2c6480a20c845fff920690286f1
IB/mthca: Simplify CQ cleaning in mthca_free_qp()

mthca_free_qp() already has local variables to hold the QP's send_cq
and recv_cq, so we can slightly clean up the calls to mthca_cq_clean()
by using those local variables instead of expressions like
to_mcq(qp->ibqp.send_cq).

Also, by cleaning the recv_cq first, we can avoid worrying about
whether the QP is attached to an SRQ for the second call, because we
would only clean send_cq if send_cq is not equal to recv_cq, and that
means send_cq cannot have any receive completions from the QP being
destroyed.

All this work even improves the generated code a bit:

add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5)
function                                     old     new   delta
mthca_free_qp                                510     505      -5

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/mthca/mthca_qp.c