X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fs390%2Fchar%2Ftape_char.c;h=86262a13f7c60d0d4040492bea19295155cb360a;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=0d0343b87a007697f55d9fe6c5e05f4b4ce8d9c2;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/s390/char/tape_char.c b/drivers/s390/char/tape_char.c index 0d0343b87..86262a13f 100644 --- a/drivers/s390/char/tape_char.c +++ b/drivers/s390/char/tape_char.c @@ -145,16 +145,6 @@ tapechar_read(struct file *filp, char __user *data, size_t count, loff_t *ppos) DBF_EVENT(6, "TCHAR:read\n"); device = (struct tape_device *) filp->private_data; - /* Check position. */ - if (ppos != &filp->f_pos) { - /* - * "A request was outside the capabilities of the device." - * This check uses internal knowledge about how pread and - * read work... - */ - DBF_EVENT(6, "TCHAR:ppos wrong\n"); - return -EOVERFLOW; - } /* * If the tape isn't terminated yet, do it now. And since we then @@ -221,12 +211,6 @@ tapechar_write(struct file *filp, const char __user *data, size_t count, loff_t DBF_EVENT(6, "TCHAR:write\n"); device = (struct tape_device *) filp->private_data; - /* Check position */ - if (ppos != &filp->f_pos) { - /* "A request was outside the capabilities of the device." */ - DBF_EVENT(6, "TCHAR:ppos wrong\n"); - return -EOVERFLOW; - } /* Find out block size and number of blocks */ if (device->char_data.block_size != 0) { if (count < device->char_data.block_size) { @@ -329,7 +313,7 @@ tapechar_open (struct inode *inode, struct file *filp) rc = tape_open(device); if (rc == 0) { filp->private_data = device; - return 0; + return nonseekable_open(inode, filp); } tape_put_device(device);