[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: 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>
This commit is contained in:
parent
e2874f2e8c
commit
c3fee4c559
1 changed files with 4 additions and 1 deletions
|
@ -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)
|
||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue