aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/verbs.c
diff options
context:
space:
mode:
authorDotan Barak <dotanb@mellanox.co.il>2006-03-02 14:22:28 -0500
committerRoland Dreier <rolandd@cisco.com>2006-03-20 13:08:20 -0500
commit4546d31d84beafe74c56651173ac4fe197c7de8b (patch)
tree5196b616386b05c4a64ce8e70e78ca5e2b27fbb2 /drivers/infiniband/core/verbs.c
parent9acf6a8570dcfc9f55724b8b71099fc8768e8c26 (diff)
IB: Fix modify QP checking of "current QP state" attribute
According to the IB spec version 1.2, section 11.2.4.2, the current table has a couple of mistakes where it allows the current QP state (IB_QP_CUR_STATE) attribute. For the transitions: RTS -> RTS: IB_QP_CUR_STATE should be allowed for all transports SQD -> SQD: IB_QP_CUR_STATE should never be allowed Signed-off-by: Dotan Barak <dotanb@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/core/verbs.c')
-rw-r--r--drivers/infiniband/core/verbs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index c69334dc8012..cae0845f472a 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -366,10 +366,12 @@ static const struct {
366 .opt_param = { 366 .opt_param = {
367 [IB_QPT_UD] = (IB_QP_CUR_STATE | 367 [IB_QPT_UD] = (IB_QP_CUR_STATE |
368 IB_QP_QKEY), 368 IB_QP_QKEY),
369 [IB_QPT_UC] = (IB_QP_ACCESS_FLAGS | 369 [IB_QPT_UC] = (IB_QP_CUR_STATE |
370 IB_QP_ACCESS_FLAGS |
370 IB_QP_ALT_PATH | 371 IB_QP_ALT_PATH |
371 IB_QP_PATH_MIG_STATE), 372 IB_QP_PATH_MIG_STATE),
372 [IB_QPT_RC] = (IB_QP_ACCESS_FLAGS | 373 [IB_QPT_RC] = (IB_QP_CUR_STATE |
374 IB_QP_ACCESS_FLAGS |
373 IB_QP_ALT_PATH | 375 IB_QP_ALT_PATH |
374 IB_QP_PATH_MIG_STATE | 376 IB_QP_PATH_MIG_STATE |
375 IB_QP_MIN_RNR_TIMER), 377 IB_QP_MIN_RNR_TIMER),
@@ -419,7 +421,6 @@ static const struct {
419 [IB_QPT_UD] = (IB_QP_PKEY_INDEX | 421 [IB_QPT_UD] = (IB_QP_PKEY_INDEX |
420 IB_QP_QKEY), 422 IB_QP_QKEY),
421 [IB_QPT_UC] = (IB_QP_AV | 423 [IB_QPT_UC] = (IB_QP_AV |
422 IB_QP_CUR_STATE |
423 IB_QP_ALT_PATH | 424 IB_QP_ALT_PATH |
424 IB_QP_ACCESS_FLAGS | 425 IB_QP_ACCESS_FLAGS |
425 IB_QP_PKEY_INDEX | 426 IB_QP_PKEY_INDEX |
@@ -431,7 +432,6 @@ static const struct {
431 IB_QP_RNR_RETRY | 432 IB_QP_RNR_RETRY |
432 IB_QP_MAX_QP_RD_ATOMIC | 433 IB_QP_MAX_QP_RD_ATOMIC |
433 IB_QP_MAX_DEST_RD_ATOMIC | 434 IB_QP_MAX_DEST_RD_ATOMIC |
434 IB_QP_CUR_STATE |
435 IB_QP_ALT_PATH | 435 IB_QP_ALT_PATH |
436 IB_QP_ACCESS_FLAGS | 436 IB_QP_ACCESS_FLAGS |
437 IB_QP_PKEY_INDEX | 437 IB_QP_PKEY_INDEX |