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,
|
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,
|
|||||||
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user