please consider for 2.6.18 -- thanks! [ATM]: [he] when transmit fails, unmap the dma regions
Signed-off-by: Chas Williams <[EMAIL PROTECTED]> --- commit e2c84ae30cb2dca23afb5e811c108e235f941c3d tree a4acb86e2e10baa5ac651e566a550e0af0c55507 parent 0d60b74cf4354672e4586ca2bedde6695db43165 author chas williams <[EMAIL PROTECTED]> Thu, 07 Sep 2006 17:04:14 -0400 committer chas williams <[EMAIL PROTECTED]> Thu, 07 Sep 2006 17:04:14 -0400 drivers/atm/he.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/drivers/atm/he.c b/drivers/atm/he.c index d369130..dd96123 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -2282,6 +2282,8 @@ __enqueue_tpd(struct he_dev *he_dev, str TPDRQ_MASK(he_readl(he_dev, TPDRQ_B_H))); if (new_tail == he_dev->tpdrq_head) { + int slot; + hprintk("tpdrq full (cid 0x%x)\n", cid); /* * FIXME @@ -2289,6 +2291,13 @@ __enqueue_tpd(struct he_dev *he_dev, str * after service_tbrq, service the backlog * for now, we just drop the pdu */ + for (slot = 0; slot < TPD_MAXIOV; ++slot) { + if (tpd->iovec[slot].addr) + pci_unmap_single(he_dev->pci_dev, + tpd->iovec[slot].addr, + tpd->iovec[slot].len & TPD_LEN_MASK, + PCI_DMA_TODEVICE); + } if (tpd->skb) { if (tpd->vcc->pop) tpd->vcc->pop(tpd->vcc, tpd->skb); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html