diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2006-10-10 23:22:29 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-10-11 10:04:27 +0200 |
commit | 647519100105fb4ddfe6455e820093999c08c4be (patch) | |
tree | 77904601b90229dd0cae65d01e4c2338fa1ac049 /drivers/net/spider_net.c | |
parent | [PATCH] powerpc/cell spidernet DMA direction fix (diff) | |
download | linux-647519100105fb4ddfe6455e820093999c08c4be.tar.xz linux-647519100105fb4ddfe6455e820093999c08c4be.zip |
[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>
Diffstat (limited to 'drivers/net/spider_net.c')
-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 a26dd1c63189..418138dd6c68 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); } /** |