svn commit: r257591 - stable/9/sys/dev/nvme
Jim Harris
jimharris at FreeBSD.org
Sun Nov 3 20:56:29 UTC 2013
Author: jimharris
Date: Sun Nov 3 20:56:28 2013
New Revision: 257591
URL: http://svnweb.freebsd.org/changeset/base/257591
Log:
MFC r256155:
Do not leak resources during attach if nvme_ctrlr_construct() or the initial
controller resets fail.
Sponsored by: Intel
Modified:
stable/9/sys/dev/nvme/nvme.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/dev/ (props changed)
Modified: stable/9/sys/dev/nvme/nvme.c
==============================================================================
--- stable/9/sys/dev/nvme/nvme.c Sun Nov 3 20:55:24 2013 (r257590)
+++ stable/9/sys/dev/nvme/nvme.c Sun Nov 3 20:56:28 2013 (r257591)
@@ -237,8 +237,10 @@ nvme_attach(device_t dev)
status = nvme_ctrlr_construct(ctrlr, dev);
- if (status != 0)
+ if (status != 0) {
+ nvme_ctrlr_destruct(ctrlr, dev);
return (status);
+ }
/*
* Reset controller twice to ensure we do a transition from cc.en==1
@@ -246,12 +248,16 @@ nvme_attach(device_t dev)
* the controller was left in when boot handed off to OS.
*/
status = nvme_ctrlr_hw_reset(ctrlr);
- if (status != 0)
+ if (status != 0) {
+ nvme_ctrlr_destruct(ctrlr, dev);
return (status);
+ }
status = nvme_ctrlr_hw_reset(ctrlr);
- if (status != 0)
+ if (status != 0) {
+ nvme_ctrlr_destruct(ctrlr, dev);
return (status);
+ }
nvme_sysctl_initialize_ctrlr(ctrlr);
More information about the svn-src-stable-9
mailing list