diff options
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_intr.c')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_intr.c | 16 |
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. */ |