diff options
| author | Dave Olson <dave.olson@qlogic.com> | 2008-05-07 13:57:48 -0400 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2008-05-07 13:57:48 -0400 |
| commit | b4d390d8d219452e5d4257c87134a6934d7fabeb (patch) | |
| tree | 4d477e59d5e7540884b7740187f671b6fce2956a /drivers/infiniband | |
| parent | 6e87d1500713767866db0668bbcec75719576f3c (diff) | |
IB/ipath: Fix bug that can leave sends disabled after freeze recovery
The semantics of cancel_sends changed, but the code using it was missed.
Don't leave sends and pioavail updates disabled, and add a comment as to
why the force update is needed.
Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
| -rw-r--r-- | drivers/infiniband/hw/ipath/ipath_intr.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c index 1b58f4737c71..45c4c068ab1e 100644 --- a/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/drivers/infiniband/hw/ipath/ipath_intr.c | |||
| @@ -933,11 +933,15 @@ void ipath_clear_freeze(struct ipath_devdata *dd) | |||
| 933 | * therefore would not be sent, and eventually | 933 | * therefore would not be sent, and eventually |
| 934 | * might cause the process to run out of bufs | 934 | * might cause the process to run out of bufs |
| 935 | */ | 935 | */ |
| 936 | ipath_cancel_sends(dd, 0); | 936 | ipath_cancel_sends(dd, 1); |
| 937 | ipath_write_kreg(dd, dd->ipath_kregs->kr_control, | 937 | ipath_write_kreg(dd, dd->ipath_kregs->kr_control, |
| 938 | dd->ipath_control); | 938 | dd->ipath_control); |
| 939 | 939 | ||
| 940 | /* ensure pio avail updates continue */ | 940 | /* |
| 941 | * ensure pio avail updates continue (because the update | ||
| 942 | * won't have happened from cancel_sends because we were | ||
| 943 | * still in freeze | ||
| 944 | */ | ||
| 941 | ipath_force_pio_avail_update(dd); | 945 | ipath_force_pio_avail_update(dd); |
| 942 | 946 | ||
| 943 | /* | 947 | /* |
