summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalph Campbell <ralph.campbell@qlogic.com>2008-07-14 23:48:46 -0700
committerRoland Dreier <rolandd@cisco.com>2008-07-14 23:48:46 -0700
commite5a5e7d59af5944a674b9cea420a1fedc60496f2 (patch)
tree5a00e8f7821a7fbe90b0fe0d89b9694db1ac9d4f
parent6578cf33989a594bab37af988d45d87812b946b8 (diff)
downloadlinux-e5a5e7d59af5944a674b9cea420a1fedc60496f2.tar.gz
linux-e5a5e7d59af5944a674b9cea420a1fedc60496f2.tar.bz2
linux-e5a5e7d59af5944a674b9cea420a1fedc60496f2.zip
IB/core: Reset to error QP state transition is not allowed
I was reviewing the QP state transition diagram in the IB 1.2.1 spec and the code for qp_state_table[], and noticed that the code allows a QP to be modified from IB_QPS_RESET to IB_QPS_ERR whereas the notes for figure 124 (pg 457) specifically says that this transition isn't allowed. This is a clarification from earlier versions of the IB spec, which were ambiguous in this area and suggested that the RESET to ERR transition was allowed. Fix up the qp_state_table[] to make RESET->ERR not allowed. Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/core/verbs.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index e0fbe5975866..a7da9be43e61 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -315,7 +315,6 @@ static const struct {
} qp_state_table[IB_QPS_ERR + 1][IB_QPS_ERR + 1] = {
[IB_QPS_RESET] = {
[IB_QPS_RESET] = { .valid = 1 },
- [IB_QPS_ERR] = { .valid = 1 },
[IB_QPS_INIT] = {
.valid = 1,
.req_param = {