diff options
author | David S. Miller <davem@davemloft.net> | 2009-05-25 01:42:21 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-25 01:42:21 -0700 |
commit | c649c0e31d5736a4b7c5c3454182091dda4bbe62 (patch) | |
tree | 93da11bf4ea828611ab5277a7dbadf57724c2b1e /drivers/net/gianfar.c | |
parent | daebafed7fef54fcc73d2d01431122cfd578d1e0 (diff) | |
parent | 4e2fd555199977c5994d1a4d2d3b8761b20ca4c7 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/ath/ath5k/phy.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
Diffstat (limited to 'drivers/net/gianfar.c')
-rw-r--r-- | drivers/net/gianfar.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 2bb038b98cc..4ae1d259fce 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -1851,8 +1851,17 @@ int gfar_clean_rx_ring(struct net_device *dev, int rx_work_limit) if (unlikely(!newskb)) newskb = skb; - else if (skb) + else if (skb) { + /* + * We need to reset ->data to what it + * was before gfar_new_skb() re-aligned + * it to an RXBUF_ALIGNMENT boundary + * before we put the skb back on the + * recycle list. + */ + skb->data = skb->head + NET_SKB_PAD; __skb_queue_head(&priv->rx_recycle, skb); + } } else { /* Increment the number of packets */ dev->stats.rx_packets++; |