From 128a9c1e4e778105690434eac5ea9684dc1b38d6 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 3 Jan 2012 12:05:58 +0000 Subject: [PATCH] --- yaml --- r: 279410 b: refs/heads/master c: 8db182f4a8a6e2dcb8b65905ea4af56210e65430 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/sfc/efx.h | 2 -- trunk/drivers/net/ethernet/sfc/filter.c | 46 ------------------------- 3 files changed, 1 insertion(+), 49 deletions(-) diff --git a/[refs] b/[refs] index 2b758569e9eb..6cd6b9e7df24 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b2bb7b776a9b16508641a0854642d9737d7621eb +refs/heads/master: 8db182f4a8a6e2dcb8b65905ea4af56210e65430 diff --git a/trunk/drivers/net/ethernet/sfc/efx.h b/trunk/drivers/net/ethernet/sfc/efx.h index f0a5b7c41a4e..a3541ac6ea01 100644 --- a/trunk/drivers/net/ethernet/sfc/efx.h +++ b/trunk/drivers/net/ethernet/sfc/efx.h @@ -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); diff --git a/trunk/drivers/net/ethernet/sfc/filter.c b/trunk/drivers/net/ethernet/sfc/filter.c index 32eff5ef2ba7..1fbbbee7b1ae 100644 --- a/trunk/drivers/net/ethernet/sfc/filter.c +++ b/trunk/drivers/net/ethernet/sfc/filter.c @@ -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)