diff options
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_qp.c')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 7c9afde5ac..8852ea477c 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -584,6 +584,13 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | |||
584 | return -EINVAL; | 584 | return -EINVAL; |
585 | } | 585 | } |
586 | 586 | ||
587 | if ((attr_mask & IB_QP_PKEY_INDEX) && | ||
588 | attr->pkey_index >= dev->limits.pkey_table_len) { | ||
589 | mthca_dbg(dev, "PKey index (%u) too large. max is %d\n", | ||
590 | attr->pkey_index,dev->limits.pkey_table_len-1); | ||
591 | return -EINVAL; | ||
592 | } | ||
593 | |||
587 | mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); | 594 | mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); |
588 | if (IS_ERR(mailbox)) | 595 | if (IS_ERR(mailbox)) |
589 | return PTR_ERR(mailbox); | 596 | return PTR_ERR(mailbox); |