diff options
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_stats.c')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_stats.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_stats.c b/drivers/infiniband/hw/ipath/ipath_stats.c index 30a825928fcf..9307f7187ca5 100644 --- a/drivers/infiniband/hw/ipath/ipath_stats.c +++ b/drivers/infiniband/hw/ipath/ipath_stats.c | |||
@@ -207,7 +207,7 @@ void ipath_get_faststats(unsigned long opaque) | |||
207 | * don't access the chip while running diags, or memory diags can | 207 | * don't access the chip while running diags, or memory diags can |
208 | * fail | 208 | * fail |
209 | */ | 209 | */ |
210 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_PRESENT) || | 210 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_INITTED) || |
211 | ipath_diag_inuse) | 211 | ipath_diag_inuse) |
212 | /* but re-arm the timer, for diags case; won't hurt other */ | 212 | /* but re-arm the timer, for diags case; won't hurt other */ |
213 | goto done; | 213 | goto done; |
@@ -237,11 +237,13 @@ void ipath_get_faststats(unsigned long opaque) | |||
237 | if ((dd->ipath_maskederrs & ~dd->ipath_ignorederrs) | 237 | if ((dd->ipath_maskederrs & ~dd->ipath_ignorederrs) |
238 | && time_after(jiffies, dd->ipath_unmasktime)) { | 238 | && time_after(jiffies, dd->ipath_unmasktime)) { |
239 | char ebuf[256]; | 239 | char ebuf[256]; |
240 | ipath_decode_err(ebuf, sizeof ebuf, | 240 | int iserr; |
241 | iserr = ipath_decode_err(ebuf, sizeof ebuf, | ||
241 | (dd->ipath_maskederrs & ~dd-> | 242 | (dd->ipath_maskederrs & ~dd-> |
242 | ipath_ignorederrs)); | 243 | ipath_ignorederrs)); |
243 | if ((dd->ipath_maskederrs & ~dd->ipath_ignorederrs) & | 244 | if ((dd->ipath_maskederrs & ~dd->ipath_ignorederrs) & |
244 | ~(INFINIPATH_E_RRCVEGRFULL | INFINIPATH_E_RRCVHDRFULL)) | 245 | ~(INFINIPATH_E_RRCVEGRFULL | INFINIPATH_E_RRCVHDRFULL | |
246 | INFINIPATH_E_PKTERRS )) | ||
245 | ipath_dev_err(dd, "Re-enabling masked errors " | 247 | ipath_dev_err(dd, "Re-enabling masked errors " |
246 | "(%s)\n", ebuf); | 248 | "(%s)\n", ebuf); |
247 | else { | 249 | else { |
@@ -252,8 +254,12 @@ void ipath_get_faststats(unsigned long opaque) | |||
252 | * them. So only complain about these at debug | 254 | * them. So only complain about these at debug |
253 | * level. | 255 | * level. |
254 | */ | 256 | */ |
255 | ipath_dbg("Disabling frequent queue full errors " | 257 | if (iserr) |
256 | "(%s)\n", ebuf); | 258 | ipath_dbg("Re-enabling queue full errors (%s)\n", |
259 | ebuf); | ||
260 | else | ||
261 | ipath_cdbg(ERRPKT, "Re-enabling packet" | ||
262 | " problem interrupt (%s)\n", ebuf); | ||
257 | } | 263 | } |
258 | dd->ipath_maskederrs = dd->ipath_ignorederrs; | 264 | dd->ipath_maskederrs = dd->ipath_ignorederrs; |
259 | ipath_write_kreg(dd, dd->ipath_kregs->kr_errormask, | 265 | ipath_write_kreg(dd, dd->ipath_kregs->kr_errormask, |