diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_intr.c | 3 |
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; |