* [PATCH] korina: fix loop back of receive descriptors
@ 2009-01-15 22:29 Phil Sutter
2009-01-19 21:07 ` Florian Fainelli
0 siblings, 1 reply; 3+ messages in thread
From: Phil Sutter @ 2009-01-15 22:29 UTC (permalink / raw)
To: netdev; +Cc: davem, jeff, florian
After the last loop iteration, i has the value RC32434_NUM_RDS and
therefore leads to an index overflow when used afterwards to address the
last element. This is yet another another bug introduced when rewriting
parts of the driver for upstream preparation, as the original driver
used 'RC32434_NUM_RDS - 1' instead.
Signed-off-by: Phil Sutter <n0-1@freewrt.org>
---
drivers/net/korina.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/korina.c b/drivers/net/korina.c
index 1d6e48e..67fbdf4 100644
--- a/drivers/net/korina.c
+++ b/drivers/net/korina.c
@@ -769,11 +769,12 @@ static void korina_alloc_ring(struct net_device *dev)
lp->rd_ring[i].link = CPHYSADDR(&lp->rd_ring[i+1]);
}
- /* loop back */
- lp->rd_ring[i].link = CPHYSADDR(&lp->rd_ring[0]);
- lp->rx_next_done = 0;
+ /* loop back receive descriptors, so the last
+ * descriptor points to the first one */
+ lp->rd_ring[i - 1].link = CPHYSADDR(&lp->rd_ring[0]);
+ lp->rd_ring[i - 1].control |= DMA_DESC_COD;
- lp->rd_ring[i].control |= DMA_DESC_COD;
+ lp->rx_next_done = 0;
lp->rx_chain_head = 0;
lp->rx_chain_tail = 0;
lp->rx_chain_status = desc_empty;
--
1.5.6.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] korina: fix loop back of receive descriptors
2009-01-15 22:29 [PATCH] korina: fix loop back of receive descriptors Phil Sutter
@ 2009-01-19 21:07 ` Florian Fainelli
2009-01-20 0:23 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Florian Fainelli @ 2009-01-19 21:07 UTC (permalink / raw)
To: Phil Sutter; +Cc: netdev, davem, jeff
Le Thursday 15 January 2009 23:29:55 Phil Sutter, vous avez écrit :
> After the last loop iteration, i has the value RC32434_NUM_RDS and
> therefore leads to an index overflow when used afterwards to address the
> last element. This is yet another another bug introduced when rewriting
> parts of the driver for upstream preparation, as the original driver
> used 'RC32434_NUM_RDS - 1' instead.
>
> Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Acked-by: Florian Fainelli <florian@openwrt.org>
--
Best regards, Florian Fainelli
Email : florian@openwrt.org
http://openwrt.org
-------------------------------
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] korina: fix loop back of receive descriptors
2009-01-19 21:07 ` Florian Fainelli
@ 2009-01-20 0:23 ` David Miller
0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2009-01-20 0:23 UTC (permalink / raw)
To: florian; +Cc: n0-1, netdev, jeff
From: Florian Fainelli <florian@openwrt.org>
Date: Mon, 19 Jan 2009 22:07:30 +0100
> Le Thursday 15 January 2009 23:29:55 Phil Sutter, vous avez écrit :
> > After the last loop iteration, i has the value RC32434_NUM_RDS and
> > therefore leads to an index overflow when used afterwards to address the
> > last element. This is yet another another bug introduced when rewriting
> > parts of the driver for upstream preparation, as the original driver
> > used 'RC32434_NUM_RDS - 1' instead.
> >
> > Signed-off-by: Phil Sutter <n0-1@freewrt.org>
>
> Acked-by: Florian Fainelli <florian@openwrt.org>
Applied.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-01-20 0:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-15 22:29 [PATCH] korina: fix loop back of receive descriptors Phil Sutter
2009-01-19 21:07 ` Florian Fainelli
2009-01-20 0:23 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).