diff options
author | John Gregor <john.gregor@qlogic.com> | 2008-05-07 11:01:10 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-05-07 11:01:10 -0700 |
commit | ab69b3cf1219e0d07bb4ea373f36b1de38af531c (patch) | |
tree | cad988230450defcdc2d598fd70b6f4ed89df044 /drivers/infiniband/hw/ehca/ehca_classes.h | |
parent | e2ab41cae418108f376ad1634d7507f56379f7a2 (diff) | |
download | blackbird-op-linux-ab69b3cf1219e0d07bb4ea373f36b1de38af531c.tar.gz blackbird-op-linux-ab69b3cf1219e0d07bb4ea373f36b1de38af531c.zip |
IB/ipath: Fix SDMA error recovery in absence of link status change
What's fixed:
in ipath_cancel_sends()
We need to unconditionally set ABORTING. So, swap the tests
so the set_bit() isn't shadowed by the &&.
If we've disarmed the piobufs, then we need to unconditionally
set DISARMED. So, move it out from the overly protective if
at the bottom.
in sdma_abort_task()
Abort_task was written knowing that the SDMA engine would always
be reset (and restarted) on error. A recent change broke that
fundamental assumption by taking the restart portion and making
it conditional on a link status change. But, SDMA can go boom
without a link status change in some conditions.
Signed-off-by: John Gregor <john.gregor@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_classes.h')
0 files changed, 0 insertions, 0 deletions