Author: jhb
Date: Wed Jan 24 20:13:07 2018
New Revision: 328358
URL: https://svnweb.freebsd.org/changeset/base/328358

Log:
  Clamp DSGL entries to a length of 2KB.
  
  This works around an issue in the T6 that can result in DMA engine
  stalls if an error occurs while processing a DSGL entry with a length
  larger than 2KB.
  
  Submitted by: Harsh Jain @ Chelsio
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/crypto/t4_crypto.c

Modified: head/sys/dev/cxgbe/crypto/t4_crypto.c
==============================================================================
--- head/sys/dev/cxgbe/crypto/t4_crypto.c       Wed Jan 24 20:12:00 2018        
(r328357)
+++ head/sys/dev/cxgbe/crypto/t4_crypto.c       Wed Jan 24 20:13:07 2018        
(r328358)
@@ -116,11 +116,13 @@ __FBSDID("$FreeBSD$");
 #define        MAX_AAD_LEN             511
 
 /*
- * The documentation for CPL_RX_PHYS_DSGL claims a maximum of 32
- * SG entries.
+ * The documentation for CPL_RX_PHYS_DSGL claims a maximum of 32 SG
+ * entries.  While the CPL includes a 16-bit length field, the T6 can
+ * sometimes hang if an error occurs while processing a request with a
+ * single DSGL entry larger than 2k.
  */
 #define        MAX_RX_PHYS_DSGL_SGE    32
-#define        DSGL_SGE_MAXLEN         65535
+#define        DSGL_SGE_MAXLEN         2048
 
 /*
  * The adapter only supports requests with a total input or output
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to