diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | 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 1d6e48e13366..67fbdf40aceb 100644 --- a/drivers/net/korina.c +++ b/drivers/net/korina.c | |||
@@ -769,11 +769,12 @@ static void korina_alloc_ring(struct net_device *dev) | |||
769 | lp->rd_ring[i].link = CPHYSADDR(&lp->rd_ring[i+1]); | 769 | lp->rd_ring[i].link = CPHYSADDR(&lp->rd_ring[i+1]); |
770 | } | 770 | } |
771 | 771 | ||
772 | /* loop back */ | 772 | /* loop back receive descriptors, so the last |
773 | lp->rd_ring[i].link = CPHYSADDR(&lp->rd_ring[0]); | 773 | * descriptor points to the first one */ |
774 | lp->rx_next_done = 0; | 774 | lp->rd_ring[i - 1].link = CPHYSADDR(&lp->rd_ring[0]); |
775 | lp->rd_ring[i - 1].control |= DMA_DESC_COD; | ||
775 | 776 | ||
776 | lp->rd_ring[i].control |= DMA_DESC_COD; | 777 | lp->rx_next_done = 0; |
777 | lp->rx_chain_head = 0; | 778 | lp->rx_chain_head = 0; |
778 | lp->rx_chain_tail = 0; | 779 | lp->rx_chain_tail = 0; |
779 | lp->rx_chain_status = desc_empty; | 780 | lp->rx_chain_status = desc_empty; |