Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 2019 19:38:06 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r355099 - stable/12/sys/cam/mmc
Message-ID:  <201911251938.xAPJc6nw076482@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Mon Nov 25 19:38:05 2019
New Revision: 355099
URL: https://svnweb.freebsd.org/changeset/base/355099

Log:
  MFC r355015: MMCCAM: defer release of ccb until we're done with it
  
  If we've found a device, we attempt to call xpt_action() on a ccb that's
  already been released. Simply defer release until after we're done with it.

Modified:
  stable/12/sys/cam/mmc/mmc_xpt.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cam/mmc/mmc_xpt.c
==============================================================================
--- stable/12/sys/cam/mmc/mmc_xpt.c	Mon Nov 25 19:31:38 2019	(r355098)
+++ stable/12/sys/cam/mmc/mmc_xpt.c	Mon Nov 25 19:38:05 2019	(r355099)
@@ -1082,7 +1082,6 @@ mmcprobe_done(struct cam_periph *periph, union ccb *do
                 //xpt_async(AC_LOST_DEVICE, path, NULL);
         }
 
-	xpt_release_ccb(done_ccb);
         if (softc->action != PROBE_INVALID)
                 xpt_schedule(periph, priority);
 	/* Drop freeze taken due to CAM_DEV_QFREEZE flag set. */
@@ -1099,6 +1098,7 @@ mmcprobe_done(struct cam_periph *periph, union ccb *do
 			xpt_async(AC_FOUND_DEVICE, path, done_ccb);
 		}
 	}
+	xpt_release_ccb(done_ccb);
         if (softc->action == PROBE_DONE || softc->action == PROBE_INVALID) {
                 cam_periph_invalidate(periph);
                 cam_periph_release_locked(periph);



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