aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2013-12-16 13:56:24 -0500
committerBen Hutchings <bhutchings@solarflare.com>2013-12-16 14:01:27 -0500
commita0bc3487e431eaea381c2c882a41274e9a02f028 (patch)
treef33c304fe5b97e4eacd4e3774b8ca3f29a66968f
parent99691c4ac112666fe8aef30cffef1cc9f6f94f79 (diff)
sfc: Fix RX drop filters for EF10
When we insert an filter, the firmware checks that the given RX queue index is in range even if it will not be used. In case we're inserting a drop filter, pass the value 0. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
-rw-r--r--drivers/net/ethernet/sfc/ef10.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index d352bdc4e53e..4dfc2296600d 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c
@@ -2245,7 +2245,9 @@ static void efx_ef10_filter_push_prep(struct efx_nic *efx,
2245 MC_CMD_FILTER_OP_IN_RX_DEST_HOST); 2245 MC_CMD_FILTER_OP_IN_RX_DEST_HOST);
2246 MCDI_SET_DWORD(inbuf, FILTER_OP_IN_TX_DEST, 2246 MCDI_SET_DWORD(inbuf, FILTER_OP_IN_TX_DEST,
2247 MC_CMD_FILTER_OP_IN_TX_DEST_DEFAULT); 2247 MC_CMD_FILTER_OP_IN_TX_DEST_DEFAULT);
2248 MCDI_SET_DWORD(inbuf, FILTER_OP_IN_RX_QUEUE, spec->dmaq_id); 2248 MCDI_SET_DWORD(inbuf, FILTER_OP_IN_RX_QUEUE,
2249 spec->dmaq_id == EFX_FILTER_RX_DMAQ_ID_DROP ?
2250 0 : spec->dmaq_id);
2249 MCDI_SET_DWORD(inbuf, FILTER_OP_IN_RX_MODE, 2251 MCDI_SET_DWORD(inbuf, FILTER_OP_IN_RX_MODE,
2250 (spec->flags & EFX_FILTER_FLAG_RX_RSS) ? 2252 (spec->flags & EFX_FILTER_FLAG_RX_RSS) ?
2251 MC_CMD_FILTER_OP_IN_RX_MODE_RSS : 2253 MC_CMD_FILTER_OP_IN_RX_MODE_RSS :