git: c0b22e146845 - stable/13 - ccr: Disable requests on port 1 when needed to workaround a firmware bug.
John Baldwin
jhb at FreeBSD.org
Mon Apr 26 19:03:52 UTC 2021
The branch stable/13 has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=c0b22e146845852f99e9e74594589d988251022c
commit c0b22e146845852f99e9e74594589d988251022c
Author: John Baldwin <jhb at FreeBSD.org>
AuthorDate: 2021-03-12 18:35:56 +0000
Commit: John Baldwin <jhb at FreeBSD.org>
CommitDate: 2021-04-26 19:01:32 +0000
ccr: Disable requests on port 1 when needed to workaround a firmware bug.
Completions for crypto requests on port 1 can sometimes return a stale
cookie value due to a firmware bug. Disable requests on port 1 by
default on affected firmware.
Sponsored by: Chelsio Communications
(cherry picked from commit 5fe0cd6503d34d23c98e9e1ff7bf10340218a5ec)
---
sys/dev/cxgbe/crypto/t4_crypto.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/sys/dev/cxgbe/crypto/t4_crypto.c b/sys/dev/cxgbe/crypto/t4_crypto.c
index 8cb5924c6b4c..cdd14fcee2f9 100644
--- a/sys/dev/cxgbe/crypto/t4_crypto.c
+++ b/sys/dev/cxgbe/crypto/t4_crypto.c
@@ -2153,7 +2153,15 @@ ccr_init_port(struct ccr_softc *sc, int port)
sc->ports[port].stats_completed = counter_u64_alloc(M_WAITOK);
_Static_assert(sizeof(sc->port_mask) * NBBY >= MAX_NPORTS - 1,
"Too many ports to fit in port_mask");
- sc->port_mask |= 1u << port;
+
+ /*
+ * Completions for crypto requests on port 1 can sometimes
+ * return a stale cookie value due to a firmware bug. Disable
+ * requests on port 1 by default on affected firmware.
+ */
+ if (sc->adapter->params.fw_vers >= FW_VERSION32(1, 25, 4, 0) ||
+ port == 0)
+ sc->port_mask |= 1u << port;
}
static int
More information about the dev-commits-src-branches
mailing list