aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/atm/he.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index d369130f4235..dd96123a2b7f 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -2282,6 +2282,8 @@ __enqueue_tpd(struct he_dev *he_dev, struct he_tpd *tpd, unsigned cid)
2282 TPDRQ_MASK(he_readl(he_dev, TPDRQ_B_H))); 2282 TPDRQ_MASK(he_readl(he_dev, TPDRQ_B_H)));
2283 2283
2284 if (new_tail == he_dev->tpdrq_head) { 2284 if (new_tail == he_dev->tpdrq_head) {
2285 int slot;
2286
2285 hprintk("tpdrq full (cid 0x%x)\n", cid); 2287 hprintk("tpdrq full (cid 0x%x)\n", cid);
2286 /* 2288 /*
2287 * FIXME 2289 * FIXME
@@ -2289,6 +2291,13 @@ __enqueue_tpd(struct he_dev *he_dev, struct he_tpd *tpd, unsigned cid)
2289 * after service_tbrq, service the backlog 2291 * after service_tbrq, service the backlog
2290 * for now, we just drop the pdu 2292 * for now, we just drop the pdu
2291 */ 2293 */
2294 for (slot = 0; slot < TPD_MAXIOV; ++slot) {
2295 if (tpd->iovec[slot].addr)
2296 pci_unmap_single(he_dev->pci_dev,
2297 tpd->iovec[slot].addr,
2298 tpd->iovec[slot].len & TPD_LEN_MASK,
2299 PCI_DMA_TODEVICE);
2300 }
2292 if (tpd->skb) { 2301 if (tpd->skb) {
2293 if (tpd->vcc->pop) 2302 if (tpd->vcc->pop)
2294 tpd->vcc->pop(tpd->vcc, tpd->skb); 2303 tpd->vcc->pop(tpd->vcc, tpd->skb);