diff options
-rw-r--r-- | drivers/scsi/st.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index fda797581019..74a6830b7ed8 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -3104,7 +3104,9 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon cmd_in == MTSETDRVBUFFER || cmd_in == SET_DENS_AND_BLK) { if (cmdstatp->sense_hdr.sense_key == ILLEGAL_REQUEST && - !(STp->use_pf & PF_TESTED)) { + cmdstatp->sense_hdr.asc == 0x24 && + (STp->device)->scsi_level <= SCSI_2 && + !(STp->use_pf & PF_TESTED)) { /* Try the other possible state of Page Format if not already tried */ STp->use_pf = (STp->use_pf ^ USE_PF) | PF_TESTED; |