| 2272 | } |
| 2273 | |
| 2274 | static int |
| 2275 | bnxt_flow_destroy(struct rte_eth_dev *dev, |
| 2276 | struct rte_flow *flow, |
| 2277 | struct rte_flow_error *error) |
| 2278 | { |
| 2279 | struct bnxt *bp = dev->data->dev_private; |
| 2280 | int ret = 0; |
| 2281 | |
| 2282 | bnxt_acquire_flow_lock(bp); |
| 2283 | if (!flow) { |
| 2284 | rte_flow_error_set(error, EINVAL, |
| 2285 | RTE_FLOW_ERROR_TYPE_HANDLE, NULL, |
| 2286 | "Invalid flow: failed to destroy flow."); |
| 2287 | bnxt_release_flow_lock(bp); |
| 2288 | return -EINVAL; |
| 2289 | } |
| 2290 | |
| 2291 | if (!flow->filter) { |
| 2292 | rte_flow_error_set(error, EINVAL, |
| 2293 | RTE_FLOW_ERROR_TYPE_HANDLE, NULL, |
| 2294 | "Invalid flow: failed to destroy flow."); |
| 2295 | bnxt_release_flow_lock(bp); |
| 2296 | return -EINVAL; |
| 2297 | } |
| 2298 | ret = _bnxt_flow_destroy(bp, flow, error); |
| 2299 | bnxt_release_flow_lock(bp); |
| 2300 | |
| 2301 | return ret; |
| 2302 | } |
| 2303 | |
| 2304 | void bnxt_cancel_fc_thread(struct bnxt *bp) |
| 2305 | { |
nothing calls this directly
no test coverage detected