Commit 8db182f4 authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller

sfc: Remove now-unused filter function

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b2bb7b77
...@@ -64,8 +64,6 @@ extern void efx_remove_filters(struct efx_nic *efx); ...@@ -64,8 +64,6 @@ extern void efx_remove_filters(struct efx_nic *efx);
extern s32 efx_filter_insert_filter(struct efx_nic *efx, extern s32 efx_filter_insert_filter(struct efx_nic *efx,
struct efx_filter_spec *spec, struct efx_filter_spec *spec,
bool replace); 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, extern int efx_filter_remove_id_safe(struct efx_nic *efx,
enum efx_filter_priority priority, enum efx_filter_priority priority,
u32 filter_id); u32 filter_id);
......
...@@ -680,52 +680,6 @@ int efx_filter_get_filter_safe(struct efx_nic *efx, ...@@ -680,52 +680,6 @@ int efx_filter_get_filter_safe(struct efx_nic *efx,
return rc; 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, static void efx_filter_table_clear(struct efx_nic *efx,
enum efx_filter_table_id table_id, enum efx_filter_table_id table_id,
enum efx_filter_priority priority) enum efx_filter_priority priority)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment