Skip to content

Commit 7a7bb18

Browse files
ohartoovgregkh
authored andcommitted
IB/mlx5: Fix obj_type mismatch for SRQ event subscriptions
[ Upstream commit 85fe9f5 ] 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: 7597385 ("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>
1 parent d2be6c4 commit 7a7bb18

File tree

1 file changed

+1
-0
lines changed
  • drivers/infiniband/hw/mlx5

1 file changed

+1
-0
lines changed

drivers/infiniband/hw/mlx5/devx.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ static u16 get_legacy_obj_type(u16 opcode)
191191
{
192192
switch (opcode) {
193193
case MLX5_CMD_OP_CREATE_RQ:
194+
case MLX5_CMD_OP_CREATE_RMP:
194195
return MLX5_EVENT_QUEUE_TYPE_RQ;
195196
case MLX5_CMD_OP_CREATE_QP:
196197
return MLX5_EVENT_QUEUE_TYPE_QP;

0 commit comments

Comments
 (0)