IB/mlx5: Avoid passing an invalid QP type to firmware
authorNoa Osherovich <noaos@mellanox.com>
Sun, 25 Feb 2018 11:39:51 +0000 (13:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Nov 2018 13:52:43 +0000 (14:52 +0100)
commit579493b9f689910b49c071d0acdec43c4f447d65
tree8ac85b684ca8cdcc761bafe5b830235f9e49972d
parent6cfb67394a42072981c2884114b3850a3cdd5b2b
IB/mlx5: Avoid passing an invalid QP type to firmware

[ Upstream commit e7b169f34403becd3c9fd3b6e46614ab788f2187 ]

During QP creation, the mlx5 driver translates the QP type to an
internal value which is passed on to FW. There was no check to make
sure that the translated value is valid, and -EINVAL was coerced into
the mailbox command.

Current firmware refuses this as an invalid QP type, but future/past
firmware may do something else.

Fixes: 09a7d9eca1a6c ('{net,IB}/mlx5: QP/XRCD commands via mlx5 ifc')
Reviewed-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Noa Osherovich <noaos@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mlx5/qp.c