diff options
author | Dotan Barak <dotanb@dev.mellanox.co.il> | 2007-01-09 11:53:07 +0200 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-02-16 13:57:32 -0800 |
commit | fc89afce349a70f73d9c0b6d91a15c4913f071a0 (patch) | |
tree | e91ba91db7a33bd538287e6a4dee914624ae514c /drivers/infiniband/hw | |
parent | 8a03d9a498eaf02c8a118752050a5154852c13bf (diff) |
IB/mthca: Allow the QP state transition RESET->RESET
RESET->RESET is an allowed QP state transition, so mthca should handle
it correctly, by just returning success without involving the firmware.
Signed-off-by: Dotan Barak <dotanb@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 224c93dd29e..71dc84bd425 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c @@ -573,6 +573,11 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, goto out; } + if (cur_state == new_state && cur_state == IB_QPS_RESET) { + err = 0; + goto out; + } + if ((attr_mask & IB_QP_PKEY_INDEX) && attr->pkey_index >= dev->limits.pkey_table_len) { mthca_dbg(dev, "P_Key index (%u) too large. max is %d\n", |