sfc: Remove now-unused filter function
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b2bb7b776a
commit
8db182f4a8
@ -64,8 +64,6 @@ extern void efx_remove_filters(struct efx_nic *efx);
|
||||
extern s32 efx_filter_insert_filter(struct efx_nic *efx,
|
||||
struct efx_filter_spec *spec,
|
||||
bool replace);
|
||||
extern int efx_filter_remove_filter(struct efx_nic *efx,
|
||||
struct efx_filter_spec *spec);
|
||||
extern int efx_filter_remove_id_safe(struct efx_nic *efx,
|
||||
enum efx_filter_priority priority,
|
||||
u32 filter_id);
|
||||
|
@ -680,52 +680,6 @@ int efx_filter_get_filter_safe(struct efx_nic *efx,
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* efx_filter_remove_filter - remove a filter by specification
|
||||
* @efx: NIC from which to remove the filter
|
||||
* @spec: Specification for the filter
|
||||
*
|
||||
* On success, return zero.
|
||||
* On failure, return a negative error code.
|
||||
*/
|
||||
int efx_filter_remove_filter(struct efx_nic *efx, struct efx_filter_spec *spec)
|
||||
{
|
||||
struct efx_filter_state *state = efx->filter_state;
|
||||
struct efx_filter_table *table = efx_filter_spec_table(state, spec);
|
||||
struct efx_filter_spec *saved_spec;
|
||||
efx_oword_t filter;
|
||||
unsigned int filter_idx, depth;
|
||||
u32 key;
|
||||
int rc;
|
||||
|
||||
if (!table)
|
||||
return -EINVAL;
|
||||
|
||||
key = efx_filter_build(&filter, spec);
|
||||
|
||||
spin_lock_bh(&state->lock);
|
||||
|
||||
rc = efx_filter_search(table, spec, key, false, &depth);
|
||||
if (rc < 0)
|
||||
goto out;
|
||||
filter_idx = rc;
|
||||
saved_spec = &table->spec[filter_idx];
|
||||
|
||||
if (spec->priority < saved_spec->priority) {
|
||||
rc = -EPERM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
efx_filter_table_clear_entry(efx, table, filter_idx);
|
||||
if (table->used == 0)
|
||||
efx_filter_table_reset_search_depth(table);
|
||||
rc = 0;
|
||||
|
||||
out:
|
||||
spin_unlock_bh(&state->lock);
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void efx_filter_table_clear(struct efx_nic *efx,
|
||||
enum efx_filter_table_id table_id,
|
||||
enum efx_filter_priority priority)
|
||||
|
Loading…
Reference in New Issue
Block a user