svn commit: r253295 - stable/9/sys/dev/nvme

Jim Harris jimharris at FreeBSD.org
Fri Jul 12 22:06:18 UTC 2013


Author: jimharris
Date: Fri Jul 12 22:06:17 2013
New Revision: 253295
URL: http://svnweb.freebsd.org/changeset/base/253295

Log:
  MFC r253108:
  
    Do not retry failed async event requests.
  
  Approved by:	re (kib)

Modified:
  stable/9/sys/dev/nvme/nvme_ctrlr.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/nvme/nvme_ctrlr.c
==============================================================================
--- stable/9/sys/dev/nvme/nvme_ctrlr.c	Fri Jul 12 22:05:17 2013	(r253294)
+++ stable/9/sys/dev/nvme/nvme_ctrlr.c	Fri Jul 12 22:06:17 2013	(r253295)
@@ -649,12 +649,12 @@ nvme_ctrlr_async_event_cb(void *arg, con
 {
 	struct nvme_async_event_request	*aer = arg;
 
-	if (cpl->status.sc == NVME_SC_ABORTED_SQ_DELETION) {
+	if (nvme_completion_is_error(cpl)) {
 		/*
-		 *  This is simulated when controller is being shut down, to
-		 *  effectively abort outstanding asynchronous event requests
-		 *  and make sure all memory is freed.  Do not repost the
-		 *  request in this case.
+		 *  Do not retry failed async event requests.  This avoids
+		 *  infinite loops where a new async event request is submitted
+		 *  to replace the one just failed, only to fail again and
+		 *  perpetuate the loop.
 		 */
 		return;
 	}


More information about the svn-src-stable-9 mailing list