summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/efx.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2013-01-30 00:33:14 +0100
committerBen Hutchings <bhutchings@solarflare.com>2013-03-07 21:22:08 +0100
commitff734ef4bca05fd5cd51b83d2e2a9f008b64f9a3 (patch)
treec4e0095a62339ec8632b4d8262ce8043271b6094 /drivers/net/ethernet/sfc/efx.c
parentsfc: Make RX queue descriptor counts unsigned for consistency (diff)
downloadlinux-ff734ef4bca05fd5cd51b83d2e2a9f008b64f9a3.tar.xz
linux-ff734ef4bca05fd5cd51b83d2e2a9f008b64f9a3.zip
sfc: Wrap __efx_rx_packet() with efx_rx_flush_packet()
The pipeline mechanism will need to change a bit for scattered packets. Add a wrapper to insulate efx_process_channel() from this. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/efx.c')
-rw-r--r--drivers/net/ethernet/sfc/efx.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index 34b56ec87fba..f8013c3ea37c 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -250,11 +250,7 @@ static int efx_process_channel(struct efx_channel *channel, int budget)
struct efx_rx_queue *rx_queue =
efx_channel_get_rx_queue(channel);
- /* Deliver last RX packet. */
- if (channel->rx_pkt) {
- __efx_rx_packet(channel, channel->rx_pkt);
- channel->rx_pkt = NULL;
- }
+ efx_rx_flush_packet(channel);
if (rx_queue->enabled)
efx_fast_push_rx_descriptors(rx_queue);
}