summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/ehca/ehca_reqs.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-06-06 11:33:30 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-06-06 11:33:30 -0700
commit06a1578e2448112d6f635b1a458a65e36f0f97c6 (patch)
treede48f52efe3af42efa602274db1b501749ec260e /drivers/infiniband/hw/ehca/ehca_reqs.c
parent256a13dd708004082a2de0938fd614b155c259e2 (diff)
parent27676a3e166b352928a8ef7b1c0e322f3c471a3e (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ipath: Fix SM trap forwarding IB/ehca: Reject send WRs only for RESET, INIT and RTR state MAINTAINERS: Update NetEffect (iw_nes) entry IB/ipath: Fix device capability flags IB/ipath: Avoid test_bit() on u64 SDMA status value
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_reqs.c')
-rw-r--r--drivers/infiniband/hw/ehca/ehca_reqs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_reqs.c b/drivers/infiniband/hw/ehca/ehca_reqs.c
index bbe0436f4f75..f093b0033daf 100644
--- a/drivers/infiniband/hw/ehca/ehca_reqs.c
+++ b/drivers/infiniband/hw/ehca/ehca_reqs.c
@@ -421,8 +421,10 @@ int ehca_post_send(struct ib_qp *qp,
int ret = 0;
unsigned long flags;
- if (unlikely(my_qp->state != IB_QPS_RTS)) {
- ehca_err(qp->device, "QP not in RTS state qpn=%x", qp->qp_num);
+ /* Reject WR if QP is in RESET, INIT or RTR state */
+ if (unlikely(my_qp->state < IB_QPS_RTS)) {
+ ehca_err(qp->device, "Invalid QP state qp_state=%d qpn=%x",
+ my_qp->state, qp->qp_num);
return -EINVAL;
}