svn commit: r199281 - head/sys/cam

Alexander Motin mav at FreeBSD.org
Sat Nov 14 20:30:43 UTC 2009


Author: mav
Date: Sat Nov 14 20:30:42 2009
New Revision: 199281
URL: http://svn.freebsd.org/changeset/base/199281

Log:
  MFp4:
  Some more missed parts from previous commits.

Modified:
  head/sys/cam/cam_periph.c
  head/sys/cam/cam_queue.c
  head/sys/cam/cam_queue.h

Modified: head/sys/cam/cam_periph.c
==============================================================================
--- head/sys/cam/cam_periph.c	Sat Nov 14 20:23:20 2009	(r199280)
+++ head/sys/cam/cam_periph.c	Sat Nov 14 20:30:42 2009	(r199281)
@@ -1465,6 +1465,11 @@ camperiphscsisenseerror(union ccb *ccb, 
 				action_string = "No recovery CCB supplied";
 				goto sense_error_done;
 			}
+			/*
+			 * Clear freeze flag for original request here, as
+			 * this freeze will be dropped as part of ERESTART.
+			 */
+			ccb->ccb_h.status &= ~CAM_DEV_QFRZN;
 			bcopy(ccb, save_ccb, sizeof(*save_ccb));
 			print_ccb = save_ccb;
 			periph->flags |= CAM_PERIPH_RECOVERY_INPROG;

Modified: head/sys/cam/cam_queue.c
==============================================================================
--- head/sys/cam/cam_queue.c	Sat Nov 14 20:23:20 2009	(r199280)
+++ head/sys/cam/cam_queue.c	Sat Nov 14 20:30:42 2009	(r199281)
@@ -334,7 +334,6 @@ cam_ccbq_init(struct cam_ccbq *ccbq, int
 	}
 	ccbq->devq_openings = openings;
 	ccbq->dev_openings = openings;	
-	TAILQ_INIT(&ccbq->active_ccbs);
 	return (0);
 }
 

Modified: head/sys/cam/cam_queue.h
==============================================================================
--- head/sys/cam/cam_queue.h	Sat Nov 14 20:23:20 2009	(r199280)
+++ head/sys/cam/cam_queue.h	Sat Nov 14 20:30:42 2009	(r199281)
@@ -60,7 +60,6 @@ struct cam_ccbq {
 	int	dev_openings;	
 	int	dev_active;
 	int	held;
-	struct	ccb_hdr_tailq active_ccbs;
 };
 
 struct cam_ed;
@@ -209,9 +208,6 @@ static __inline void
 cam_ccbq_send_ccb(struct cam_ccbq *ccbq, union ccb *send_ccb)
 {
 
-	TAILQ_INSERT_TAIL(&ccbq->active_ccbs,
-			  &(send_ccb->ccb_h),
-			  xpt_links.tqe);
 	send_ccb->ccb_h.pinfo.index = CAM_ACTIVE_INDEX;
 	ccbq->dev_active++;
 	ccbq->dev_openings--;		
@@ -220,8 +216,7 @@ cam_ccbq_send_ccb(struct cam_ccbq *ccbq,
 static __inline void
 cam_ccbq_ccb_done(struct cam_ccbq *ccbq, union ccb *done_ccb)
 {
-	TAILQ_REMOVE(&ccbq->active_ccbs, &done_ccb->ccb_h,
-		     xpt_links.tqe);
+
 	ccbq->dev_active--;
 	ccbq->dev_openings++;	
 	ccbq->held++;


More information about the svn-src-all mailing list