]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
IB/mlx5: Fix obj_type mismatch for SRQ event subscriptions
authorOr Har-Toov <ohartoov@nvidia.com>
Wed, 13 Aug 2025 12:43:20 +0000 (15:43 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Oct 2025 11:35:45 +0000 (13:35 +0200)
[ Upstream commit 85fe9f565d2d5af95ac2bbaa5082b8ce62b039f5 ]

Fix a bug where the driver's event subscription logic for SRQ-related
events incorrectly sets obj_type for RMP objects.

When subscribing to SRQ events, get_legacy_obj_type() did not handle
the MLX5_CMD_OP_CREATE_RMP case, which caused obj_type to be 0
(default).
This led to a mismatch between the obj_type used during subscription
(0) and the value used during notification (1, taken from the event's
type field). As a result, event mapping for SRQ objects could fail and
event notification would not be delivered correctly.

This fix adds handling for MLX5_CMD_OP_CREATE_RMP in get_legacy_obj_type,
returning MLX5_EVENT_QUEUE_TYPE_RQ so obj_type is consistent between
subscription and notification.

Fixes: 759738537142 ("IB/mlx5: Enable subscription for device events over DEVX")
Link: https://patch.msgid.link/r/8f1048e3fdd1fde6b90607ce0ed251afaf8a148c.1755088962.git.leon@kernel.org
Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
Reviewed-by: Edward Srouji <edwards@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mlx5/devx.c

index 301c061bb31902df14fb98dac14e29fe77d6c815..679d85db26f4fd604dd9e2d151dd4709384082e4 100644 (file)
@@ -194,6 +194,7 @@ static u16 get_legacy_obj_type(u16 opcode)
 {
        switch (opcode) {
        case MLX5_CMD_OP_CREATE_RQ:
+       case MLX5_CMD_OP_CREATE_RMP:
                return MLX5_EVENT_QUEUE_TYPE_RQ;
        case MLX5_CMD_OP_CREATE_QP:
                return MLX5_EVENT_QUEUE_TYPE_QP;