summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/qib/qib_tx.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-07-27 10:42:48 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-07-27 10:42:52 +0100
commit4708ac49305bbcd511600d4af71a4c6dca15af65 (patch)
tree77ba5c83a7d4f4a119e3fd524d82adc297df1e35 /drivers/infiniband/hw/qib/qib_tx.c
parent1dbd30e9890fd69e50b17edd70ca583546b0fe4e (diff)
parent2f7989efd4398d92b8adffce2e07dd043a0895fe (diff)
downloadlinux-4708ac49305bbcd511600d4af71a4c6dca15af65.tar.gz
linux-4708ac49305bbcd511600d4af71a4c6dca15af65.tar.bz2
linux-4708ac49305bbcd511600d4af71a4c6dca15af65.zip
Merge branch 'origin' into misc
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_tx.c')
-rw-r--r--drivers/infiniband/hw/qib/qib_tx.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qib/qib_tx.c b/drivers/infiniband/hw/qib/qib_tx.c
index f7eb1ddff5f3..af30232b6831 100644
--- a/drivers/infiniband/hw/qib/qib_tx.c
+++ b/drivers/infiniband/hw/qib/qib_tx.c
@@ -340,9 +340,13 @@ rescan:
if (i < dd->piobcnt2k)
buf = (u32 __iomem *)(dd->pio2kbase +
i * dd->palign);
- else
+ else if (i < dd->piobcnt2k + dd->piobcnt4k || !dd->piovl15base)
buf = (u32 __iomem *)(dd->pio4kbase +
(i - dd->piobcnt2k) * dd->align4k);
+ else
+ buf = (u32 __iomem *)(dd->piovl15base +
+ (i - (dd->piobcnt2k + dd->piobcnt4k)) *
+ dd->align4k);
if (pbufnum)
*pbufnum = i;
dd->upd_pio_shadow = 0;