summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Haberland <stefan.haberland@de.ibm.com>2014-09-16 11:02:24 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-09-25 10:52:03 +0200
commit9fc98ad0d2bf3cd71772d1bda75e7a8b4dce261b (patch)
tree5e1c51e0f4fbe599dbc9f9dc496bbc45c3e4724e
parent8f933b1043e1e51f4776fc1ffe86752c7785fd4e (diff)
s390/tape: fix MTIOCGET ioctl to report blocksize
Remove tape_state from status register and report the drive's current setting for block size instead as known from other tapes. Density is not supported so nothing to report here. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--drivers/s390/char/tape_char.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/char/tape_char.c b/drivers/s390/char/tape_char.c
index 6dc60725de92..77f9b9c2f701 100644
--- a/drivers/s390/char/tape_char.c
+++ b/drivers/s390/char/tape_char.c
@@ -402,7 +402,9 @@ __tapechar_ioctl(struct tape_device *device,
memset(&get, 0, sizeof(get));
get.mt_type = MT_ISUNKNOWN;
get.mt_resid = 0 /* device->devstat.rescnt */;
- get.mt_dsreg = device->tape_state;
+ get.mt_dsreg =
+ ((device->char_data.block_size << MT_ST_BLKSIZE_SHIFT)
+ & MT_ST_BLKSIZE_MASK);
/* FIXME: mt_gstat, mt_erreg, mt_fileno */
get.mt_gstat = 0;
get.mt_erreg = 0;