aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_intr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c
index d12dfadaece7..ed2a227ceced 100644
--- a/drivers/infiniband/hw/ipath/ipath_intr.c
+++ b/drivers/infiniband/hw/ipath/ipath_intr.c
@@ -833,7 +833,8 @@ void ipath_clear_freeze(struct ipath_devdata *dd)
833 */ 833 */
834 for (i = 0; i < dd->ipath_pioavregs; i++) { 834 for (i = 0; i < dd->ipath_pioavregs; i++) {
835 /* deal with 6110 chip bug */ 835 /* deal with 6110 chip bug */
836 im = i > 3 ? i ^ 1 : i; 836 im = (i > 3 && (dd->ipath_flags & IPATH_SWAP_PIOBUFS)) ?
837 i ^ 1 : i;
837 val = ipath_read_kreg64(dd, (0x1000 / sizeof(u64)) + im); 838 val = ipath_read_kreg64(dd, (0x1000 / sizeof(u64)) + im);
838 dd->ipath_pioavailregs_dma[i] = cpu_to_le64(val); 839 dd->ipath_pioavailregs_dma[i] = cpu_to_le64(val);
839 dd->ipath_pioavailshadow[i] = val; 840 dd->ipath_pioavailshadow[i] = val;