]> git.baikalelectronics.ru Git - kernel.git/commit
IB/hfi1: Reorder incorrect send context disable
authorMichael J. Ruhl <michael.j.ruhl@intel.com>
Wed, 2 May 2018 13:43:07 +0000 (06:43 -0700)
committerDoug Ledford <dledford@redhat.com>
Wed, 9 May 2018 19:53:29 +0000 (15:53 -0400)
commitf5042ddda4bf76f98a74c764610e16c797fa8a95
tree78138471e59f4877a5003095983aae3c08e66ca8
parentd15ffdffa23b525b246df2a109521f006e1dd806
IB/hfi1: Reorder incorrect send context disable

User send context integrity bits are cleared before the context is
disabled.  If the send context is still processing data, any packets
that need those integrity bits will cause an error and halt the send
context.

During the disable handling, the driver waits for the context to drain.
If the context is halted, the driver will eventually timeout because
the context won't drain and then incorrectly bounce the link.

Reorder the bit clearing and the context disable.

Examine the software state and send context status as well as the
egress status to determine if a send context is in the halted state.

Promote the check macros to static functions for consistency with the
new check and to follow kernel style.

Remove an unused define that refers to the egress timeout.

Cc: <stable@vger.kernel.org> # 4.9.x
Reviewed-by: Mitko Haralanov <mitko.haralanov@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/file_ops.c
drivers/infiniband/hw/hfi1/pio.c