IB/mlx5: Save flow table priority handler instead of index
authorMaor Gottlieb <maorg@mellanox.com>
Sun, 28 Aug 2016 11:16:31 +0000 (14:16 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 7 Oct 2016 20:54:15 +0000 (16:54 -0400)
Saving the flow table priority object's pointer in the flow handle
is necessary for downstream patches since the sniffer flow table isn't
placed at the standard flow_db structure but in a different database.

Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h

index 87988fbc87b4117278eca5296064afe144d7e1cc..de7b5b3a4df85b5305cccc3dab56f700980e038f 100644 (file)
@@ -1654,7 +1654,7 @@ static int mlx5_ib_destroy_flow(struct ib_flow *flow_id)
        }
 
        mlx5_del_flow_rule(handler->rule);
-       put_flow_table(dev, &dev->flow_db.prios[handler->prio], true);
+       put_flow_table(dev, handler->prio, true);
        mutex_unlock(&dev->flow_db.lock);
 
        kfree(handler);
@@ -1776,7 +1776,7 @@ static struct mlx5_ib_flow_handler *create_flow_rule(struct mlx5_ib_dev *dev,
                goto free;
        }
 
-       handler->prio = ft_prio - dev->flow_db.prios;
+       handler->prio = ft_prio;
 
        ft_prio->flow_table = ft;
 free:
index a59034aaa297d4b10634ed8f4abe184549c51478..a24cc20363cbd77a78c39a22f6fe746de4297330 100644 (file)
@@ -150,7 +150,7 @@ struct mlx5_ib_flow_prio {
 struct mlx5_ib_flow_handler {
        struct list_head                list;
        struct ib_flow                  ibflow;
-       unsigned int                    prio;
+       struct mlx5_ib_flow_prio        *prio;
        struct mlx5_flow_rule   *rule;
 };