Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 May 2016 16:36:40 +0000 (UTC)
From:      Stephen McConnell <slm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r299274 - head/sys/dev/mpr
Message-ID:  <201605091636.u49GaeoW040407@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: slm
Date: Mon May  9 16:36:40 2016
New Revision: 299274
URL: https://svnweb.freebsd.org/changeset/base/299274

Log:
  Disks can go missing until a reboot is done in some cases.
  
  This is due to the DevHandle not being released, which causes the Firmware to
  not allow that disk to be re-added.
  
  Reviewed by:    ken, scottl, ambrisko, asomers
  Approved by:	ken, scottl, ambrisko
  MFC after:      1 week
  Differential Revision: https://reviews.freebsd.org/D6102

Modified:
  head/sys/dev/mpr/mpr_sas.c

Modified: head/sys/dev/mpr/mpr_sas.c
==============================================================================
--- head/sys/dev/mpr/mpr_sas.c	Mon May  9 16:35:05 2016	(r299273)
+++ head/sys/dev/mpr/mpr_sas.c	Mon May  9 16:36:40 2016	(r299274)
@@ -377,10 +377,8 @@ mprsas_remove_volume(struct mpr_softc *s
 
 	if ((le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK) !=
 	    MPI2_IOCSTATUS_SUCCESS) {
-		mpr_dprint(sc, MPR_FAULT, "IOCStatus = 0x%x while resetting "
+		mpr_dprint(sc, MPR_ERROR, "IOCStatus = 0x%x while resetting "
 		    "device 0x%x\n", le16toh(reply->IOCStatus), handle);
-		mprsas_free_tm(sc, tm);
-		return;
 	}
 
 	mpr_dprint(sc, MPR_XINFO, "Reset aborted %u commands\n",
@@ -566,8 +564,6 @@ mprsas_remove_device(struct mpr_softc *s
 		mpr_dprint(sc, MPR_ERROR, "%s: cm_flags = %#x for remove of "
 		    "handle %#04x! This should not happen!\n", __func__,
 		    tm->cm_flags, handle);
-		mprsas_free_tm(sc, tm);
-		return;
 	}
 
 	if (reply == NULL) {
@@ -580,10 +576,8 @@ mprsas_remove_device(struct mpr_softc *s
 
 	if ((le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK) !=
 	    MPI2_IOCSTATUS_SUCCESS) {
-		mpr_dprint(sc, MPR_FAULT, "IOCStatus = 0x%x while resetting "
+		mpr_dprint(sc, MPR_ERROR, "IOCStatus = 0x%x while resetting "
 		    "device 0x%x\n", le16toh(reply->IOCStatus), handle);
-		mprsas_free_tm(sc, tm);
-		return;
 	}
 
 	mpr_dprint(sc, MPR_XINFO, "Reset aborted %u commands\n",



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