diff options
author | Eli Cohen <eli@dev.mellanox.co.il> | 2012-02-09 18:52:50 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-02-26 01:37:30 -0800 |
commit | 4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70 (patch) | |
tree | 529ac43cf579467c0552fcd102bd8c5764472786 /drivers/infiniband | |
parent | 6b21d18ed50c7d145220b0724ea7f2613abf0f95 (diff) | |
download | linux-4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70.tar.gz linux-4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70.tar.bz2 linux-4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70.zip |
IB/mlx4: Set bad_wr for invalid send opcode
If the opcode of a work request exceeds the range of valid opcodes,
return the pointer to the offending work request.
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/mlx4/qp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index aa2aefa4236c..3a7848966627 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c @@ -1884,6 +1884,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, wmb(); if (wr->opcode < 0 || wr->opcode >= ARRAY_SIZE(mlx4_ib_opcode)) { + *bad_wr = wr; err = -EINVAL; goto out; } |