From c3848bee6cb0fa71ebca230c032791577f2240e0 Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Fri, 11 Jun 2010 10:51:03 +0000 Subject: [PATCH] --- yaml --- r: 200533 b: refs/heads/master c: 63b88b9041ceef8217f34de71a2e96f0c3f0fd3b h: refs/heads/master i: 200531: 4250236e224cc1796c141dbb7c0f1166542e471d v: v3 --- [refs] | 2 +- trunk/drivers/net/gianfar.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 01465ee341b3..0610def2caed 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 099473c16bac7b936994bc95b5fd96f36397e1ad +refs/heads/master: 63b88b9041ceef8217f34de71a2e96f0c3f0fd3b diff --git a/trunk/drivers/net/gianfar.c b/trunk/drivers/net/gianfar.c index 227b628bc214..28b53d1cd4f1 100644 --- a/trunk/drivers/net/gianfar.c +++ b/trunk/drivers/net/gianfar.c @@ -2655,6 +2655,10 @@ int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit) dma_unmap_single(&priv->ofdev->dev, bdp->bufPtr, priv->rx_buffer_size, DMA_FROM_DEVICE); + if (unlikely(!(bdp->status & RXBD_ERR) && + bdp->length > priv->rx_buffer_size)) + bdp->status = RXBD_LARGE; + /* We drop the frame if we failed to allocate a new buffer */ if (unlikely(!newskb || !(bdp->status & RXBD_LAST) || bdp->status & RXBD_ERR)) {