]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/infiniband/hw/qib/qib_tx.c
IB/qib: Don't mark VL15 bufs as WC to avoid a rare 7322 chip problem
[net-next-2.6.git] / drivers / infiniband / hw / qib / qib_tx.c
index f7eb1ddff5f3da92490b96569b6c2a1b5c4400ad..af30232b68311e73144c609fa556c4e6e64e3059 100644 (file)
@@ -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;