Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jul 2013 22:06:18 +0000 (UTC)
From:      Jim Harris <jimharris@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r253295 - stable/9/sys/dev/nvme
Message-ID:  <201307122206.r6CM6IJU065959@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307122206.r6CM6IJU065959>