Author: jimharris
Date: Tue Jul  9 21:03:39 2013
New Revision: 253108
URL: http://svnweb.freebsd.org/changeset/base/253108

Log:
  Do not retry failed async event requests.
  
  Sponsored by: Intel
  MFC after:    3 days

Modified:
  head/sys/dev/nvme/nvme_ctrlr.c

Modified: head/sys/dev/nvme/nvme_ctrlr.c
==============================================================================
--- head/sys/dev/nvme/nvme_ctrlr.c      Tue Jul  9 21:02:45 2013        
(r253107)
+++ head/sys/dev/nvme/nvme_ctrlr.c      Tue Jul  9 21:03:39 2013        
(r253108)
@@ -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;
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to