diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2014-05-11 08:15:10 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-06-02 17:58:11 -0400 |
commit | 60093dc0c8b6407bc7494cbcb3e84322cc6782c8 (patch) | |
tree | b9eb3c7a9ed70625bbe3752dd9ef49e19a6ee483 | |
parent | d6d211db37e75de2ddc3a4f979038c40df7cc79c (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.c | 3 | ||||
-rw-r--r-- | drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 3 |
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", |