summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-11-14 20:30:42 +0000
committermav <mav@FreeBSD.org>2009-11-14 20:30:42 +0000
commit3579059b778aedda16c1d467ccc2dd42a542e11e (patch)
tree486b246b0d97d9dc6a8759c655949f0053c3bdab
parentc8c30ba3799bcb2a4e62dbd9af106afcf90d9b44 (diff)
downloadFreeBSD-src-3579059b778aedda16c1d467ccc2dd42a542e11e.zip
FreeBSD-src-3579059b778aedda16c1d467ccc2dd42a542e11e.tar.gz
MFp4:
Some more missed parts from previous commits.
-rw-r--r--sys/cam/cam_periph.c5
-rw-r--r--sys/cam/cam_queue.c1
-rw-r--r--sys/cam/cam_queue.h7
3 files changed, 6 insertions, 7 deletions
diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c
index 63cc2c6..9bac0f5 100644
--- a/sys/cam/cam_periph.c
+++ b/sys/cam/cam_periph.c
@@ -1465,6 +1465,11 @@ camperiphscsisenseerror(union ccb *ccb, cam_flags camflags,
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;
diff --git a/sys/cam/cam_queue.c b/sys/cam/cam_queue.c
index 56586be..328f0b8 100644
--- a/sys/cam/cam_queue.c
+++ b/sys/cam/cam_queue.c
@@ -334,7 +334,6 @@ cam_ccbq_init(struct cam_ccbq *ccbq, int openings)
}
ccbq->devq_openings = openings;
ccbq->dev_openings = openings;
- TAILQ_INIT(&ccbq->active_ccbs);
return (0);
}
diff --git a/sys/cam/cam_queue.h b/sys/cam/cam_queue.h
index d2990ad..31f9bc2 100644
--- a/sys/cam/cam_queue.h
+++ b/sys/cam/cam_queue.h
@@ -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, union ccb *send_ccb)
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++;
OpenPOWER on IntegriCloud