IB/qib: Clear 6120 hardware error register

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.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
Ralph Campbell 2010-06-17 23:14:04 +00:00 committed by Roland Dreier
parent 5df4223a44
commit 2d757a7ce0
1 changed files with 1 additions and 2 deletions

View File

@ -1355,8 +1355,7 @@ static int qib_6120_bringup_serdes(struct qib_pportdata *ppd)
hwstat = qib_read_kreg64(dd, kr_hwerrstatus); hwstat = qib_read_kreg64(dd, kr_hwerrstatus);
if (hwstat) { if (hwstat) {
/* should just have PLL, clear all set, in an case */ /* 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)); qib_write_kreg(dd, kr_errclear, ERR_MASK(HardwareErr));
} }