diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 3babdc76b3fb37f3e361243f8d5b7167a0d85f8b..e1a52c525ed492155a8243722e4387428198548b 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -1177,7 +1177,10 @@ static int st_open(struct inode *inode, struct file *filp) goto err_out; if ((filp->f_flags & O_NONBLOCK) == 0 && retval != CHKRES_READY) { - retval = (-EIO); + if (STp->ready == NO_TAPE) + retval = (-ENOMEDIUM); + else + retval = (-EIO); goto err_out; } return 0;