diff options
Diffstat (limited to 'net/openvswitch/flow_table.c')
-rw-r--r-- | net/openvswitch/flow_table.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index 299ea8bb400c..099a1a9a3068 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c | |||
@@ -155,13 +155,6 @@ static void rcu_free_flow_callback(struct rcu_head *rcu) | |||
155 | flow_free(flow); | 155 | flow_free(flow); |
156 | } | 156 | } |
157 | 157 | ||
158 | static void rcu_free_sw_flow_mask_cb(struct rcu_head *rcu) | ||
159 | { | ||
160 | struct sw_flow_mask *mask = container_of(rcu, struct sw_flow_mask, rcu); | ||
161 | |||
162 | kfree(mask); | ||
163 | } | ||
164 | |||
165 | static void flow_mask_del_ref(struct sw_flow_mask *mask, bool deferred) | 158 | static void flow_mask_del_ref(struct sw_flow_mask *mask, bool deferred) |
166 | { | 159 | { |
167 | if (!mask) | 160 | if (!mask) |
@@ -173,7 +166,7 @@ static void flow_mask_del_ref(struct sw_flow_mask *mask, bool deferred) | |||
173 | if (!mask->ref_count) { | 166 | if (!mask->ref_count) { |
174 | list_del_rcu(&mask->list); | 167 | list_del_rcu(&mask->list); |
175 | if (deferred) | 168 | if (deferred) |
176 | call_rcu(&mask->rcu, rcu_free_sw_flow_mask_cb); | 169 | kfree_rcu(mask, rcu); |
177 | else | 170 | else |
178 | kfree(mask); | 171 | kfree(mask); |
179 | } | 172 | } |