linux/include/linux/mlx5
Mohamad Haj Yahia 4fb5fd27de net/mlx5: Avoid using pending command interface slots
[ Upstream commit 73dd3a4839 ]

Currently when firmware command gets stuck or it takes long time to
complete, the driver command will get timeout and the command slot is
freed and can be used for new commands, and if the firmware receive new
command on the old busy slot its behavior is unexpected and this could
be harmful.
To fix this when the driver command gets timeout we return failure,
but we don't free the command slot and we wait for the firmware to
explicitly respond to that command.
Once all the entries are busy we will stop processing new firmware
commands.

Fixes: 9cba4ebcf3 ('net/mlx5: Fix potential deadlock in command mode change')
Signed-off-by: Mohamad Haj Yahia <mohamad@mellanox.com>
Cc: kernel-team@fb.com
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-06-07 12:07:45 +02:00
..
cmd.h net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
cq.h {net,IB}/mlx5: CQ commands via mlx5 ifc 2016-08-14 14:39:15 +03:00
device.h net/mlx5: Add MLX5_ARRAY_SET64 to fix BUILD_BUG_ON 2016-10-13 10:13:24 -04:00
doorbell.h net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
driver.h net/mlx5: Avoid using pending command interface slots 2017-06-07 12:07:45 +02:00
fs.h net/mlx5: Add sniffer namespaces 2016-08-18 18:49:59 +03:00
mlx5_ifc.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-09-12 15:52:44 -07:00
port.h net/mlx5: Separate query_port_proto_oper for IB and EN 2016-08-18 18:49:52 +03:00
qp.h {net,IB}/mlx5: Modify QP commands via mlx5 ifc 2016-08-17 17:45:58 +03:00
srq.h {net, IB}/mlx5: Refactor internal SRQ API 2016-06-23 11:20:07 -04:00
transobj.h IB/mlx5: Support setting Ethernet priority for Raw Packet QPs 2016-01-21 12:01:09 -05:00
vport.h net/mlx5: Enable setting minimum inline header mode for VFs 2016-08-17 17:45:59 +03:00