aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ipath/ipath_intr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_intr.c')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_intr.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c
index d1e13a46093d..41329e72392d 100644
--- a/drivers/infiniband/hw/ipath/ipath_intr.c
+++ b/drivers/infiniband/hw/ipath/ipath_intr.c
@@ -590,18 +590,19 @@ static int handle_errors(struct ipath_devdata *dd, ipath_err_t errs)
590 * ones on this particular interrupt, which also isn't great 590 * ones on this particular interrupt, which also isn't great
591 */ 591 */
592 dd->ipath_maskederrs |= dd->ipath_lasterror | errs; 592 dd->ipath_maskederrs |= dd->ipath_lasterror | errs;
593
593 dd->ipath_errormask &= ~dd->ipath_maskederrs; 594 dd->ipath_errormask &= ~dd->ipath_maskederrs;
594 ipath_write_kreg(dd, dd->ipath_kregs->kr_errormask, 595 ipath_write_kreg(dd, dd->ipath_kregs->kr_errormask,
595 dd->ipath_errormask); 596 dd->ipath_errormask);
596 s_iserr = ipath_decode_err(msg, sizeof msg, 597 s_iserr = ipath_decode_err(msg, sizeof msg,
597 dd->ipath_maskederrs); 598 dd->ipath_maskederrs);
598 599
599 if (dd->ipath_maskederrs & 600 if (dd->ipath_maskederrs &
600 ~(INFINIPATH_E_RRCVEGRFULL | 601 ~(INFINIPATH_E_RRCVEGRFULL |
601 INFINIPATH_E_RRCVHDRFULL | INFINIPATH_E_PKTERRS)) 602 INFINIPATH_E_RRCVHDRFULL | INFINIPATH_E_PKTERRS))
602 ipath_dev_err(dd, "Temporarily disabling " 603 ipath_dev_err(dd, "Temporarily disabling "
603 "error(s) %llx reporting; too frequent (%s)\n", 604 "error(s) %llx reporting; too frequent (%s)\n",
604 (unsigned long long)dd->ipath_maskederrs, 605 (unsigned long long) dd->ipath_maskederrs,
605 msg); 606 msg);
606 else { 607 else {
607 /* 608 /*
@@ -786,7 +787,6 @@ static int handle_errors(struct ipath_devdata *dd, ipath_err_t errs)
786 return chkerrpkts; 787 return chkerrpkts;
787} 788}
788 789
789
790/* 790/*
791 * try to cleanup as much as possible for anything that might have gone 791 * try to cleanup as much as possible for anything that might have gone
792 * wrong while in freeze mode, such as pio buffers being written by user 792 * wrong while in freeze mode, such as pio buffers being written by user
@@ -974,6 +974,7 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat)
974 dd->ipath_i_rcvurg_mask); 974 dd->ipath_i_rcvurg_mask);
975 for (i = 1; i < dd->ipath_cfgports; i++) { 975 for (i = 1; i < dd->ipath_cfgports; i++) {
976 struct ipath_portdata *pd = dd->ipath_pd[i]; 976 struct ipath_portdata *pd = dd->ipath_pd[i];
977
977 if (portr & (1 << i) && pd && pd->port_cnt) { 978 if (portr & (1 << i) && pd && pd->port_cnt) {
978 if (test_and_clear_bit(IPATH_PORT_WAITING_RCV, 979 if (test_and_clear_bit(IPATH_PORT_WAITING_RCV,
979 &pd->port_flag)) { 980 &pd->port_flag)) {
@@ -1095,8 +1096,7 @@ irqreturn_t ipath_intr(int irq, void *data)
1095 1096
1096 gpiostatus = ipath_read_kreg32( 1097 gpiostatus = ipath_read_kreg32(
1097 dd, dd->ipath_kregs->kr_gpio_status); 1098 dd, dd->ipath_kregs->kr_gpio_status);
1098 /* First the error-counter case. 1099 /* First the error-counter case. */
1099 */
1100 if ((gpiostatus & IPATH_GPIO_ERRINTR_MASK) && 1100 if ((gpiostatus & IPATH_GPIO_ERRINTR_MASK) &&
1101 (dd->ipath_flags & IPATH_GPIO_ERRINTRS)) { 1101 (dd->ipath_flags & IPATH_GPIO_ERRINTRS)) {
1102 /* want to clear the bits we see asserted. */ 1102 /* want to clear the bits we see asserted. */