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>
This commit is contained in:
Dave Olson 2008-05-07 10:57:48 -07:00 committed by Roland Dreier
parent 6e87d15007
commit b4d390d8d2

View File

@ -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);
/* /*