diff options
author | Dotan Barak <dotanb@dev.mellanox.co.il> | 2007-01-09 04:53:07 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-02-16 16:57:32 -0500 |
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, | |||
573 | goto out; | 573 | goto out; |
574 | } | 574 | } |
575 | 575 | ||
576 | if (cur_state == new_state && cur_state == IB_QPS_RESET) { | ||
577 | err = 0; | ||
578 | goto out; | ||
579 | } | ||
580 | |||
576 | if ((attr_mask & IB_QP_PKEY_INDEX) && | 581 | if ((attr_mask & IB_QP_PKEY_INDEX) && |
577 | attr->pkey_index >= dev->limits.pkey_table_len) { | 582 | attr->pkey_index >= dev->limits.pkey_table_len) { |
578 | mthca_dbg(dev, "P_Key index (%u) too large. max is %d\n", | 583 | mthca_dbg(dev, "P_Key index (%u) too large. max is %d\n", |