The hardware error register needs to be cleared or another interrupt
will be generated, thus causing an infinite loop.
This is a regression introduced when removing debug output.

Signed-off-by: Ralph Campbell <ralph.campb...@qlogic.com>
---

 drivers/infiniband/hw/qib/qib_iba6120.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/qib/qib_iba6120.c 
b/drivers/infiniband/hw/qib/qib_iba6120.c
index 1eadadc..a5e29db 100644
--- a/drivers/infiniband/hw/qib/qib_iba6120.c
+++ b/drivers/infiniband/hw/qib/qib_iba6120.c
@@ -1355,8 +1355,7 @@ static int qib_6120_bringup_serdes(struct qib_pportdata 
*ppd)
        hwstat = qib_read_kreg64(dd, kr_hwerrstatus);
        if (hwstat) {
                /* should just have PLL, clear all set, in an case */
-               if (hwstat & ~QLOGIC_IB_HWE_SERDESPLLFAILED)
-                       qib_write_kreg(dd, kr_hwerrclear, hwstat);
+               qib_write_kreg(dd, kr_hwerrclear, hwstat);
                qib_write_kreg(dd, kr_errclear, ERR_MASK(HardwareErr));
        }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to