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:
parent
6e87d15007
commit
b4d390d8d2
1 changed files with 6 additions and 2 deletions
|
@ -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);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue