IB/ehca: Use WQE offset instead of WQE addr for pending work reqs
authorHoang-Nam Nguyen <hnguyen@linux.vnet.ibm.com>
Mon, 20 Nov 2006 22:54:12 +0000 (23:54 +0100)
committerRoland Dreier <rolandd@cisco.com>
Wed, 29 Nov 2006 23:33:08 +0000 (15:33 -0800)
commit2771e9ed4702e46c3f4c305eb2e047c251c2ad2b
treeda6ffee90c3725fb84949cf44ea78f8e8c8965c1
parent9ab1ffa8775d9c677b1301cccce8a7d91e5163d0
IB/ehca: Use WQE offset instead of WQE addr for pending work reqs

This is a patch for ehca to fix a bug in prepare_sqe_to_rts(), which
used WQE address to iterate pending work requests.  This might cause
an access violation since the queue pages can not be assumed to follow
each other consecutively.  Thus, this patch introduces a few queue
functions to determine WQE offset based on its address and uses WQE
offset to iterate the pending work requests.

Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ehca/ehca_main.c
drivers/infiniband/hw/ehca/ehca_qp.c
drivers/infiniband/hw/ehca/ipz_pt_fn.c
drivers/infiniband/hw/ehca/ipz_pt_fn.h