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",
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to