diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-18 19:16:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-18 19:16:05 -0400 |
commit | 1d19f176a2884d31c4fe2c7018349ff884a819b1 (patch) | |
tree | f0f02160cb954d3d7bd4417548ca997f0a88fd45 /drivers | |
parent | 20bf94e266969f91c623ed8b51da4109e3f57bcb (diff) | |
parent | fe26109a9dfd9327fdbe630fc819e1b7450986b2 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[ATM] CLIP: Do not refer freed skbuff in clip_mkip().
[NET]: Drop tx lock in dev_watchdog_up
[PACKET]: Don't truncate non-linear skbs with mmaped IO
[NET]: Mark frame diverter for future removal.
[NETFILTER]: Add secmark headers to header-y
[ATM]: linux-atm-general mailing list is subscribers only
[ATM]: [he] when transmit fails, unmap the dma regions
[TCP] tcp-lp: update information to MAINTAINERS
[TCP] tcp-lp: bug fix for oops in 2.6.18-rc6
[BRIDGE]: random extra bytes on STP TCN packet
[IPV6]: Accept -1 for IPV6_TCLASS
[IPV6]: Fix tclass setting for raw sockets.
[IPVS]: remove the debug option go ip_vs_ftp
[IPVS]: Make sure ip_vs_ftp ports are valid
[IPVS]: auto-help for ip_vs_ftp
[IPVS]: Document the ports option to ip_vs_ftp in kernel-parameters.txt
[TCP]: Turn ABC off.
[NEIGH]: neigh_table_clear() doesn't free stats
Diffstat (limited to 'drivers')
-rw-r--r-- | 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 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); |