瀏覽代碼

net/mlx5_core: Fix a bug in alloc_token

In alloc_token(), the token '1' would be allocated twice consecutively.

Signed-off-by: Achiad Shochat <achiad@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Achiad Shochat 10 年之前
父節點
當前提交
4cbdd27c9c
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/net/ethernet/mellanox/mlx5/core/cmd.c

+ 4 - 1
drivers/net/ethernet/mellanox/mlx5/core/cmd.c

@@ -125,7 +125,10 @@ static u8 alloc_token(struct mlx5_cmd *cmd)
 	u8 token;
 
 	spin_lock(&cmd->token_lock);
-	token = cmd->token++ % 255 + 1;
+	cmd->token++;
+	if (cmd->token == 0)
+		cmd->token++;
+	token = cmd->token;
 	spin_unlock(&cmd->token_lock);
 
 	return token;