Skip to content

Commit a4550b2

Browse files
kmakisaramartinkpetersen
authored andcommitted
scsi: st: New session only when Unit Attention for new tape
Currently the code starts new tape session when any Unit Attention (UA) is seen when opening the device. This leads to incorrectly clearing pos_unknown when the UA is for reset. Set new session only when the UA is for a new tape. Signed-off-by: Kai Mäkisara <Kai.Makisara@kolumbus.fi> Link: https://lore.kernel.org/r/20241106095723.63254-4-Kai.Makisara@kolumbus.fi Reviewed-by: John Meneghini <jmeneghi@redhat.com> Tested-by: John Meneghini <jmeneghi@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 0b120ed commit a4550b2

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/scsi/st.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,10 @@ static int test_ready(struct scsi_tape *STp, int do_wait)
991991
scode = cmdstatp->sense_hdr.sense_key;
992992

993993
if (scode == UNIT_ATTENTION) { /* New media? */
994-
new_session = 1;
994+
if (cmdstatp->sense_hdr.asc == 0x28) { /* New media */
995+
new_session = 1;
996+
DEBC_printk(STp, "New tape session.");
997+
}
995998
if (attentions < MAX_ATTENTIONS) {
996999
attentions++;
9971000
continue;

0 commit comments

Comments
 (0)