Commit b4d390d8 authored by Dave Olson's avatar Dave Olson Committed by Roland Dreier

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: default avatarDave Olson <dave.olson@qlogic.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 6e87d150
...@@ -933,11 +933,15 @@ void ipath_clear_freeze(struct ipath_devdata *dd) ...@@ -933,11 +933,15 @@ void ipath_clear_freeze(struct ipath_devdata *dd)
* therefore would not be sent, and eventually * therefore would not be sent, and eventually
* might cause the process to run out of bufs * might cause the process to run out of bufs
*/ */
ipath_cancel_sends(dd, 0); ipath_cancel_sends(dd, 1);
ipath_write_kreg(dd, dd->ipath_kregs->kr_control, ipath_write_kreg(dd, dd->ipath_kregs->kr_control,
dd->ipath_control); dd->ipath_control);
/* ensure pio avail updates continue */ /*
* ensure pio avail updates continue (because the update
* won't have happened from cancel_sends because we were
* still in freeze
*/
ipath_force_pio_avail_update(dd); ipath_force_pio_avail_update(dd);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment