summaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/rx.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2009-11-23 16:02:40 +0000
committerDavid S. Miller <davem@davemloft.net>2009-11-24 10:58:33 -0800
commit3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee (patch)
treed7ca8e9b65da4829fd62010a5baeb8dc84ae766a /drivers/net/sfc/rx.c
parent1241e951af060c16cd851a83a045ca3a80288383 (diff)
downloadkernel-crypto-3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee.tar.gz
kernel-crypto-3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee.tar.xz
kernel-crypto-3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee.zip
sfc: Record RX queue number on GRO path
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/rx.c')
-rw-r--r--drivers/net/sfc/rx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/sfc/rx.c b/drivers/net/sfc/rx.c
index 9e33391db35..9f22d15d3d5 100644
--- a/drivers/net/sfc/rx.c
+++ b/drivers/net/sfc/rx.c
@@ -473,6 +473,8 @@ static void efx_rx_packet_lro(struct efx_channel *channel,
skb->ip_summed =
checksummed ? CHECKSUM_UNNECESSARY : CHECKSUM_NONE;
+ skb_record_rx_queue(skb, channel->channel);
+
gro_result = napi_gro_frags(napi);
} else {
struct sk_buff *skb = rx_buf->skb;
@@ -578,6 +580,8 @@ void __efx_rx_packet(struct efx_channel *channel,
* at the ethernet header */
rx_buf->skb->protocol = eth_type_trans(rx_buf->skb,
efx->net_dev);
+
+ skb_record_rx_queue(rx_buf->skb, channel->channel);
}
if (likely(checksummed || rx_buf->page)) {
@@ -593,8 +597,6 @@ void __efx_rx_packet(struct efx_channel *channel,
/* Set the SKB flags */
skb->ip_summed = CHECKSUM_NONE;
- skb_record_rx_queue(skb, channel->channel);
-
/* Pass the packet up */
netif_receive_skb(skb);