diff options
author | mjacob <mjacob@FreeBSD.org> | 2000-10-05 17:02:20 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2000-10-05 17:02:20 +0000 |
commit | 7e5aee1a7c10c28ef486189e52d18db3426fc94a (patch) | |
tree | 33df9d90de72ead951b6c95ad6cdce1bcfa0c1dc /sys | |
parent | 2ba990958f611d680851f8a31571d8cb4085951f (diff) | |
download | FreeBSD-src-7e5aee1a7c10c28ef486189e52d18db3426fc94a.zip FreeBSD-src-7e5aee1a7c10c28ef486189e52d18db3426fc94a.tar.gz |
Grab the ccb *after* writing filemarks.
PR: 21723
Submitted by: razuwaev@relex.ru
Diffstat (limited to 'sys')
-rw-r--r-- | sys/cam/scsi/scsi_sa.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_sa.c b/sys/cam/scsi/scsi_sa.c index c592882..3743832 100644 --- a/sys/cam/scsi/scsi_sa.c +++ b/sys/cam/scsi/scsi_sa.c @@ -3028,7 +3028,6 @@ sardpos(struct cam_periph *periph, int hard, u_int32_t *blkptr) * wary about trying to figure out the actual block location value * if data is in the tape drive buffer. */ - ccb = cam_periph_getccb(periph, 1); if (softc->flags & SA_FLAG_TAPE_WRITTEN) { error = sawritefilemarks(periph, 0, 0); @@ -3036,6 +3035,7 @@ sardpos(struct cam_periph *periph, int hard, u_int32_t *blkptr) return (error); } + ccb = cam_periph_getccb(periph, 1); scsi_read_position(&ccb->csio, 1, sadone, MSG_SIMPLE_Q_TAG, hard, &loc, SSD_FULL_SIZE, 5000); softc->dsreg = MTIO_DSREG_RBSY; |