From: Ralph Campbell Date: Thu, 17 Jun 2010 23:14:04 +0000 (+0000) Subject: IB/qib: Clear 6120 hardware error register X-Git-Tag: v2.6.35-rc5~9^2^3~3 X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;h=2d757a7ce06abb4afe5b3002d4cdc40e47d7facc;hp=5df4223a444057e433e9e4f2e101ee7159f8c19d;p=net-next-2.6.git 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 Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/hw/qib/qib_iba6120.c b/drivers/infiniband/hw/qib/qib_iba6120.c index 1eadadc13da..a5e29dbb953 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)); }