summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoachim Fenkes2007-11-22 11:26:26 +0100
committerRoland Dreier2007-11-24 22:47:59 +0100
commit3fe2ed344d4b36e7489b1d0c7cf677312b0bf870 (patch)
treec9f9816ccb21a27b356c70620180d1edf6166373
parentmlx4_core: Fix state check in mlx4_qp_modify() (diff)
downloadkernel-qcow2-linux-3fe2ed344d4b36e7489b1d0c7cf677312b0bf870.tar.gz
kernel-qcow2-linux-3fe2ed344d4b36e7489b1d0c7cf677312b0bf870.tar.xz
kernel-qcow2-linux-3fe2ed344d4b36e7489b1d0c7cf677312b0bf870.zip
IB/ehca: Fix static rate regression
Wrong choice of port number caused modify_qp() to fail -- fixed. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/hw/ehca/ehca_qp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c
index 2e3e6547cb78..dd126681fed0 100644
--- a/drivers/infiniband/hw/ehca/ehca_qp.c
+++ b/drivers/infiniband/hw/ehca/ehca_qp.c
@@ -1203,7 +1203,7 @@ static int internal_modify_qp(struct ib_qp *ibqp,
mqpcb->service_level = attr->ah_attr.sl;
update_mask |= EHCA_BMASK_SET(MQPCB_MASK_SERVICE_LEVEL, 1);
- if (ehca_calc_ipd(shca, my_qp->init_attr.port_num,
+ if (ehca_calc_ipd(shca, mqpcb->prim_phys_port,
attr->ah_attr.static_rate,
&mqpcb->max_static_rate)) {
ret = -EINVAL;
@@ -1302,7 +1302,7 @@ static int internal_modify_qp(struct ib_qp *ibqp,
mqpcb->source_path_bits_al = attr->alt_ah_attr.src_path_bits;
mqpcb->service_level_al = attr->alt_ah_attr.sl;
- if (ehca_calc_ipd(shca, my_qp->init_attr.port_num,
+ if (ehca_calc_ipd(shca, mqpcb->alt_phys_port,
attr->alt_ah_attr.static_rate,
&mqpcb->max_static_rate_al)) {
ret = -EINVAL;