diff options
author | joerg <joerg@FreeBSD.org> | 1996-02-03 13:31:13 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 1996-02-03 13:31:13 +0000 |
commit | 660a4cf0c0f7f298b2e2980b86664c8ba12d5f72 (patch) | |
tree | 9c6805fe66b2789cb90320a238db984fe19f84f3 /sys/scsi/st.c | |
parent | aa3af1501b53b625f3ccabddc6a4cc7fd409b7fe (diff) | |
download | FreeBSD-src-660a4cf0c0f7f298b2e2980b86664c8ba12d5f72.zip FreeBSD-src-660a4cf0c0f7f298b2e2980b86664c8ba12d5f72.tar.gz |
Add a quirk record for the Tandberg 42XX series. Not only that these
drives require ST_Q_SNS_HLP, they also wrongly accept a blocksize of
1024 in the first place (for a QIC-150 cartridge), but complain later
about it. The hack is to only probe for 512 for them.
Reorder the entries in st_decide_mode() so that QIC >= 525 is properly
accepted as variable blocksize.
Diffstat (limited to 'sys/scsi/st.c')
-rw-r--r-- | sys/scsi/st.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/scsi/st.c b/sys/scsi/st.c index 2c204cf..ac616d7 100644 --- a/sys/scsi/st.c +++ b/sys/scsi/st.c @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: st.c,v 1.58 1996/01/14 16:29:01 joerg Exp $ + * $Id: st.c,v 1.59 1996/01/29 03:19:23 gibbs Exp $ */ /* @@ -757,6 +757,9 @@ st_decide_mode(unit, first_read) case HALFINCH_1600: case HALFINCH_6250: case DDS: + case QIC_525: + case QIC_1320: + case QIC_3080: st->flags &= ~ST_FIXEDBLOCKS; st->blksiz = 0; SC_DEBUG(sc_link, SDEV_DB3, ("density specified variable\n")); @@ -765,9 +768,6 @@ st_decide_mode(unit, first_read) case QIC_24: case QIC_120: case QIC_150: - case QIC_525: - case QIC_1320: - case QIC_3080: st->flags |= ST_FIXEDBLOCKS; if (st->media_blksiz > 0) { st->blksiz = st->media_blksiz; @@ -1993,7 +1993,7 @@ st_touch_tape(unit) if (( errno = st_mode_sense(unit, 0, NULL, 0, 0)) ) { goto bad; } - st->blksiz = 1024; + st->blksiz = (st->quirks & ST_Q_NO_1024)? 512: 1024; do { switch ((int)st->blksiz) { case 512: |