aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOr Gerlitz <ogerlitz@mellanox.com>2014-05-11 08:15:10 -0400
committerRoland Dreier <roland@purestorage.com>2014-06-02 17:58:11 -0400
commit60093dc0c8b6407bc7494cbcb3e84322cc6782c8 (patch)
treeb9eb3c7a9ed70625bbe3752dd9ef49e19a6ee483
parentd6d211db37e75de2ddc3a4f979038c40df7cc79c (diff)
IB: Return error for unsupported QP creation flags
Fix the usnic and thw qib drivers to err when QP creation flags that they don't understand are provided. Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/hw/qib/qib_qp.c3
-rw-r--r--drivers/infiniband/hw/usnic/usnic_ib_verbs.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qib/qib_qp.c b/drivers/infiniband/hw/qib/qib_qp.c
index 0cad0c40d742..7fcc150d603c 100644
--- a/drivers/infiniband/hw/qib/qib_qp.c
+++ b/drivers/infiniband/hw/qib/qib_qp.c
@@ -985,7 +985,8 @@ struct ib_qp *qib_create_qp(struct ib_pd *ibpd,
985 struct ib_qp *ret; 985 struct ib_qp *ret;
986 986
987 if (init_attr->cap.max_send_sge > ib_qib_max_sges || 987 if (init_attr->cap.max_send_sge > ib_qib_max_sges ||
988 init_attr->cap.max_send_wr > ib_qib_max_qp_wrs) { 988 init_attr->cap.max_send_wr > ib_qib_max_qp_wrs ||
989 init_attr->create_flags) {
989 ret = ERR_PTR(-EINVAL); 990 ret = ERR_PTR(-EINVAL);
990 goto bail; 991 goto bail;
991 } 992 }
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
index d48d2c0a2e3c..53bd6a2d9cdb 100644
--- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
+++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
@@ -466,6 +466,9 @@ struct ib_qp *usnic_ib_create_qp(struct ib_pd *pd,
466 ucontext = to_uucontext(pd->uobject->context); 466 ucontext = to_uucontext(pd->uobject->context);
467 us_ibdev = to_usdev(pd->device); 467 us_ibdev = to_usdev(pd->device);
468 468
469 if (init_attr->create_flags)
470 return ERR_PTR(-EINVAL);
471
469 err = ib_copy_from_udata(&cmd, udata, sizeof(cmd)); 472 err = ib_copy_from_udata(&cmd, udata, sizeof(cmd));
470 if (err) { 473 if (err) {
471 usnic_err("%s: cannot copy udata for create_qp\n", 474 usnic_err("%s: cannot copy udata for create_qp\n",