Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jun 2013 20:49:17 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r251394 - head/sys/dev/sym
Message-ID:  <201306042049.r54KnHsU065784@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Tue Jun  4 20:49:17 2013
New Revision: 251394
URL: http://svnweb.freebsd.org/changeset/base/251394

Log:
  CAM_DEV_QFREEZE handling should only be done on request submission but
  neither on completion nor by SIM drivers in the first place. This issue
  has been revealed by r249466.
  
  Reviewed by:	mav
  MFC after:	3 days

Modified:
  head/sys/dev/sym/sym_hipd.c

Modified: head/sys/dev/sym/sym_hipd.c
==============================================================================
--- head/sys/dev/sym/sym_hipd.c	Tue Jun  4 20:40:16 2013	(r251393)
+++ head/sys/dev/sym/sym_hipd.c	Tue Jun  4 20:49:17 2013	(r251394)
@@ -2352,17 +2352,6 @@ static void sym_enqueue_cam_ccb(ccb_p cp
 /*
  *  Complete a pending CAM CCB.
  */
-static void _sym_xpt_done(hcb_p np, union ccb *ccb)
-{
-	SYM_LOCK_ASSERT(MA_OWNED);
-
-	KASSERT((ccb->ccb_h.status & CAM_SIM_QUEUED) == 0,
-			("%s: status=CAM_SIM_QUEUED", __func__));
-
-	if (ccb->ccb_h.flags & CAM_DEV_QFREEZE)
-		sym_freeze_cam_ccb(ccb);
-	xpt_done(ccb);
-}
 
 static void sym_xpt_done(hcb_p np, union ccb *ccb, ccb_p cp)
 {
@@ -2374,7 +2363,7 @@ static void sym_xpt_done(hcb_p np, union
 		ccb->ccb_h.status &= ~CAM_SIM_QUEUED;
 		ccb->ccb_h.sym_hcb_ptr = NULL;
 	}
-	_sym_xpt_done(np, ccb);
+	xpt_done(ccb);
 }
 
 static void sym_xpt_done2(hcb_p np, union ccb *ccb, int cam_status)
@@ -2382,7 +2371,7 @@ static void sym_xpt_done2(hcb_p np, unio
 	SYM_LOCK_ASSERT(MA_OWNED);
 
 	sym_set_cam_status(ccb, cam_status);
-	_sym_xpt_done(np, ccb);
+	xpt_done(ccb);
 }
 
 /*
@@ -8935,7 +8924,7 @@ static int sym_cam_attach(hcb_p np)
 		goto fail;
 	np->sim = sim;
 
-	if (xpt_create_path(&path, 0,
+	if (xpt_create_path(&path, NULL,
 			    cam_sim_path(np->sim), CAM_TARGET_WILDCARD,
 			    CAM_LUN_WILDCARD) != CAM_REQ_CMP) {
 		goto fail;



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