Commit c3fee4c5 authored by Linas Vepstas's avatar Linas Vepstas Committed by Jeff Garzik

[PATCH] powerpc/cell spidernet force-end fix

Bugfix: when cleaning up the transmit queue upon device close,
be sure to walk the entire queue.
Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent e2874f2e
...@@ -699,6 +699,8 @@ spider_net_release_tx_descr(struct spider_net_card *card) ...@@ -699,6 +699,8 @@ spider_net_release_tx_descr(struct spider_net_card *card)
/* unmap the skb */ /* unmap the skb */
skb = descr->skb; skb = descr->skb;
if (!skb)
return;
pci_unmap_single(card->pdev, descr->buf_addr, skb->len, pci_unmap_single(card->pdev, descr->buf_addr, skb->len,
PCI_DMA_TODEVICE); PCI_DMA_TODEVICE);
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
...@@ -751,7 +753,8 @@ spider_net_release_tx_chain(struct spider_net_card *card, int brutal) ...@@ -751,7 +753,8 @@ spider_net_release_tx_chain(struct spider_net_card *card, int brutal)
default: default:
card->netdev_stats.tx_dropped++; card->netdev_stats.tx_dropped++;
return 1; if (!brutal)
return 1;
} }
spider_net_release_tx_descr(card); spider_net_release_tx_descr(card);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment