diff options
author | Roland Dreier <rolandd@cisco.com> | 2008-07-15 02:48:46 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-07-15 02:48:46 -0400 |
commit | 7c27f358209a8ce7c57b584346d7b611e823f1b1 (patch) | |
tree | 2978eba94e5b3a7e64086291c58c9dff8a7d231b /drivers/infiniband/hw | |
parent | d3809ad0972297fbc7ef0585049ef465d9d8d79d (diff) |
IB/mlx4: Remove extra code for RESET->ERR QP state transition
Commit 65adfa91 ("IB/mlx4: Fix RESET to RESET and RESET to ERROR
transitions") added some extra code to handle a QP state transition
from RESET to ERROR. However, the latest 1.2.1 version of the IB spec
has clarified that this transition is actually not allowed, so we can
remove this extra code again.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/mlx4/qp.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index 76054a72f71b..44bbd6c2e315 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c | |||
@@ -1132,23 +1132,6 @@ out: | |||
1132 | return err; | 1132 | return err; |
1133 | } | 1133 | } |
1134 | 1134 | ||
1135 | static const struct ib_qp_attr mlx4_ib_qp_attr = { .port_num = 1 }; | ||
1136 | static const int mlx4_ib_qp_attr_mask_table[IB_QPT_UD + 1] = { | ||
1137 | [IB_QPT_UD] = (IB_QP_PKEY_INDEX | | ||
1138 | IB_QP_PORT | | ||
1139 | IB_QP_QKEY), | ||
1140 | [IB_QPT_UC] = (IB_QP_PKEY_INDEX | | ||
1141 | IB_QP_PORT | | ||
1142 | IB_QP_ACCESS_FLAGS), | ||
1143 | [IB_QPT_RC] = (IB_QP_PKEY_INDEX | | ||
1144 | IB_QP_PORT | | ||
1145 | IB_QP_ACCESS_FLAGS), | ||
1146 | [IB_QPT_SMI] = (IB_QP_PKEY_INDEX | | ||
1147 | IB_QP_QKEY), | ||
1148 | [IB_QPT_GSI] = (IB_QP_PKEY_INDEX | | ||
1149 | IB_QP_QKEY), | ||
1150 | }; | ||
1151 | |||
1152 | int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | 1135 | int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, |
1153 | int attr_mask, struct ib_udata *udata) | 1136 | int attr_mask, struct ib_udata *udata) |
1154 | { | 1137 | { |
@@ -1191,15 +1174,6 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | |||
1191 | goto out; | 1174 | goto out; |
1192 | } | 1175 | } |
1193 | 1176 | ||
1194 | if (cur_state == IB_QPS_RESET && new_state == IB_QPS_ERR) { | ||
1195 | err = __mlx4_ib_modify_qp(ibqp, &mlx4_ib_qp_attr, | ||
1196 | mlx4_ib_qp_attr_mask_table[ibqp->qp_type], | ||
1197 | IB_QPS_RESET, IB_QPS_INIT); | ||
1198 | if (err) | ||
1199 | goto out; | ||
1200 | cur_state = IB_QPS_INIT; | ||
1201 | } | ||
1202 | |||
1203 | err = __mlx4_ib_modify_qp(ibqp, attr, attr_mask, cur_state, new_state); | 1177 | err = __mlx4_ib_modify_qp(ibqp, attr, attr_mask, cur_state, new_state); |
1204 | 1178 | ||
1205 | out: | 1179 | out: |