Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Aug 2019 20:09:32 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r351403 - head/sys/dev/nvme
Message-ID:  <201908222009.x7MK9W0j082881@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Thu Aug 22 20:09:32 2019
New Revision: 351403
URL: https://svnweb.freebsd.org/changeset/base/351403

Log:
  Move releasing of resources to later
  
  Turn off bus master after we detach the device (to match the prior
  order).  Release MSI after we're done detaching and have turned off
  all the interrupts. Otherwise this may cause problems as other threads
  race nvme_detach. This more closely matches the old order.
  
  Reviewed by: mav@

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

Modified: head/sys/dev/nvme/nvme_pci.c
==============================================================================
--- head/sys/dev/nvme/nvme_pci.c	Thu Aug 22 19:49:51 2019	(r351402)
+++ head/sys/dev/nvme/nvme_pci.c	Thu Aug 22 20:09:32 2019	(r351403)
@@ -215,11 +215,13 @@ static int
 nvme_pci_detach(device_t dev)
 {
 	struct nvme_controller*ctrlr = DEVICE2SOFTC(dev);
+	int rv;
 
+	rv = nvme_detach(dev);
 	if (ctrlr->msix_enabled)
 		pci_release_msi(dev);
 	pci_disable_busmaster(dev);
-	return (nvme_detach(dev));
+	return (rv);
 }
 
 static int



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