]> git.itanic.dy.fi Git - linux-stable/commit
IB/hfi1: Fix loss of BECN with AHG
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Tue, 1 May 2018 12:35:51 +0000 (05:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 May 2018 07:51:53 +0000 (09:51 +0200)
commit79181a45aa9a2427c6320a2d50e8710fc6931cce
tree3e80a767b587bd2e9b5117cb1b452cf32ac3e819
parent7f185bc79bb9d2727b32ab34d2e547ed7fa50a11
IB/hfi1: Fix loss of BECN with AHG

commit 0a0bcb046b2f0c15b89f8c1b08ad3de601a83c66 upstream.

AHG may be armed to use the stored header, which by design is limited
to edits in the PSN/A 32 bit word (bth2).

When the code is trying to send a BECN, the use of the stored header
will lose the BECN bit.

Fix by avoiding AHG when getting ready to send a BECN. This is
accomplished by always claiming the packet is not a middle packet which
is an AHG precursor.  BECNs are not a normal case and this should not
hurt AHG optimizations.

Cc: <stable@vger.kernel.org> # 4.14.x
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/hw/hfi1/ruc.c