diff options
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index c4b74dbc16f2..361c6ce3a9ff 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -1196,10 +1196,6 @@ int mthca_alloc_qp(struct mthca_dev *dev, | |||
1196 | { | 1196 | { |
1197 | int err; | 1197 | int err; |
1198 | 1198 | ||
1199 | err = mthca_set_qp_size(dev, cap, pd, qp); | ||
1200 | if (err) | ||
1201 | return err; | ||
1202 | |||
1203 | switch (type) { | 1199 | switch (type) { |
1204 | case IB_QPT_RC: qp->transport = RC; break; | 1200 | case IB_QPT_RC: qp->transport = RC; break; |
1205 | case IB_QPT_UC: qp->transport = UC; break; | 1201 | case IB_QPT_UC: qp->transport = UC; break; |
@@ -1207,6 +1203,10 @@ int mthca_alloc_qp(struct mthca_dev *dev, | |||
1207 | default: return -EINVAL; | 1203 | default: return -EINVAL; |
1208 | } | 1204 | } |
1209 | 1205 | ||
1206 | err = mthca_set_qp_size(dev, cap, pd, qp); | ||
1207 | if (err) | ||
1208 | return err; | ||
1209 | |||
1210 | qp->qpn = mthca_alloc(&dev->qp_table.alloc); | 1210 | qp->qpn = mthca_alloc(&dev->qp_table.alloc); |
1211 | if (qp->qpn == -1) | 1211 | if (qp->qpn == -1) |
1212 | return -ENOMEM; | 1212 | return -ENOMEM; |
@@ -1239,6 +1239,7 @@ int mthca_alloc_sqp(struct mthca_dev *dev, | |||
1239 | u32 mqpn = qpn * 2 + dev->qp_table.sqp_start + port - 1; | 1239 | u32 mqpn = qpn * 2 + dev->qp_table.sqp_start + port - 1; |
1240 | int err; | 1240 | int err; |
1241 | 1241 | ||
1242 | sqp->qp.transport = MLX; | ||
1242 | err = mthca_set_qp_size(dev, cap, pd, &sqp->qp); | 1243 | err = mthca_set_qp_size(dev, cap, pd, &sqp->qp); |
1243 | if (err) | 1244 | if (err) |
1244 | return err; | 1245 | return err; |