diff options
author | mav <mav@FreeBSD.org> | 2009-11-14 20:30:42 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2009-11-14 20:30:42 +0000 |
commit | 3579059b778aedda16c1d467ccc2dd42a542e11e (patch) | |
tree | 486b246b0d97d9dc6a8759c655949f0053c3bdab | |
parent | c8c30ba3799bcb2a4e62dbd9af106afcf90d9b44 (diff) | |
download | FreeBSD-src-3579059b778aedda16c1d467ccc2dd42a542e11e.zip FreeBSD-src-3579059b778aedda16c1d467ccc2dd42a542e11e.tar.gz |
MFp4:
Some more missed parts from previous commits.
-rw-r--r-- | sys/cam/cam_periph.c | 5 | ||||
-rw-r--r-- | sys/cam/cam_queue.c | 1 | ||||
-rw-r--r-- | sys/cam/cam_queue.h | 7 |
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++; |