Skip to content

Commit

Permalink
IB/ipath: Fix bug that can leave sends disabled after freeze recovery
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dave Olson authored and Roland Dreier committed May 7, 2008
1 parent 6e87d15 commit b4d390d
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/infiniband/hw/ipath/ipath_intr.c
Original file line number Diff line number Diff line change
Expand Up @@ -933,11 +933,15 @@ void ipath_clear_freeze(struct ipath_devdata *dd)
* therefore would not be sent, and eventually
* 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,
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);

/*
Expand Down

0 comments on commit b4d390d

Please sign in to comment.