aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm/firestream.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-04 16:26:49 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-04 16:26:49 -0400
commit45efebf2492187e8915e2876c5bf6f3803b1c23f (patch)
treefef7ca620be5a61a243e7781bf50cb829972e4ca /drivers/atm/firestream.c
parent4acbab84688bfea82322c14e809fc7d82242cee3 (diff)
parent6e1d91039becc9d5bcd046d8c709dbaf471220e3 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl [IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP [NET] gso: Fix GSO feature mask in sk_setup_caps [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules) [NET]: Fix comparisons of unsigned < 0. [NET]: Make net watchdog timers 1 sec jiffy aligned. [ATM]: Fix warning. [TCP]: Use default 32768-61000 outgoing port range in all cases. [AF_UNIX]: Fix datagram connect race causing an OOPS. [TG3]: Fix link problem on Dell's onboard 5906. [AF_UNIX]: Make socket locking much less confusing.
Diffstat (limited to 'drivers/atm/firestream.c')
-rw-r--r--drivers/atm/firestream.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
index 9c67df5ccfa4..7f6d02ce1b5f 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -1475,6 +1475,7 @@ static void top_off_fp (struct fs_dev *dev, struct freepool *fp,
1475 struct FS_BPENTRY *qe, *ne; 1475 struct FS_BPENTRY *qe, *ne;
1476 struct sk_buff *skb; 1476 struct sk_buff *skb;
1477 int n = 0; 1477 int n = 0;
1478 u32 qe_tmp;
1478 1479
1479 fs_dprintk (FS_DEBUG_QUEUE, "Topping off queue at %x (%d-%d/%d)\n", 1480 fs_dprintk (FS_DEBUG_QUEUE, "Topping off queue at %x (%d-%d/%d)\n",
1480 fp->offset, read_fs (dev, FP_CNT (fp->offset)), fp->n, 1481 fp->offset, read_fs (dev, FP_CNT (fp->offset)), fp->n,
@@ -1502,10 +1503,16 @@ static void top_off_fp (struct fs_dev *dev, struct freepool *fp,
1502 ne->skb = skb; 1503 ne->skb = skb;
1503 ne->fp = fp; 1504 ne->fp = fp;
1504 1505
1505 qe = (struct FS_BPENTRY *) (read_fs (dev, FP_EA(fp->offset))); 1506 /*
1506 fs_dprintk (FS_DEBUG_QUEUE, "link at %p\n", qe); 1507 * FIXME: following code encodes and decodes
1507 if (qe) { 1508 * machine pointers (could be 64-bit) into a
1508 qe = bus_to_virt ((long) qe); 1509 * 32-bit register.
1510 */
1511
1512 qe_tmp = read_fs (dev, FP_EA(fp->offset));
1513 fs_dprintk (FS_DEBUG_QUEUE, "link at %x\n", qe_tmp);
1514 if (qe_tmp) {
1515 qe = bus_to_virt ((long) qe_tmp);
1509 qe->next = virt_to_bus(ne); 1516 qe->next = virt_to_bus(ne);
1510 qe->flags &= ~FP_FLAGS_EPI; 1517 qe->flags &= ~FP_FLAGS_EPI;
1511 } else 1518 } else