diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2006-10-10 16:22:29 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-10-11 04:04:27 -0400 |
commit | 647519100105fb4ddfe6455e820093999c08c4be (patch) | |
tree | 77904601b90229dd0cae65d01e4c2338fa1ac049 | |
parent | 348bc2a6e306dc3e875cee3389e1405963ace617 (diff) | |
download | op-kernel-dev-647519100105fb4ddfe6455e820093999c08c4be.zip op-kernel-dev-647519100105fb4ddfe6455e820093999c08c4be.tar.gz |
[PATCH] powerpc/cell spidernet release all descrs
Bugfix: rx descriptor release function fails to visit
the last entry while walking receive descriptor ring.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/net/spider_net.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c index a26dd1c..418138d 100644 --- a/drivers/net/spider_net.c +++ b/drivers/net/spider_net.c @@ -358,7 +358,7 @@ spider_net_free_rx_chain_contents(struct spider_net_card *card) struct spider_net_descr *descr; descr = card->rx_chain.head; - while (descr->next != card->rx_chain.head) { + do { if (descr->skb) { dev_kfree_skb(descr->skb); pci_unmap_single(card->pdev, descr->buf_addr, @@ -366,7 +366,7 @@ spider_net_free_rx_chain_contents(struct spider_net_card *card) PCI_DMA_BIDIRECTIONAL); } descr = descr->next; - } + } while (descr != card->rx_chain.head); } /** |