X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fisdn%2Fi4l%2Fisdn_common.c;h=eb71c80924a058fc86333b00b47e2b8f3945bac5;hb=7b563c525e46f373a521421e31aa791cc27beb56;hp=4956e2e02018521df0d9cd80520e09aa454e8dca;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index 4956e2e02..eb71c8092 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c @@ -946,6 +946,9 @@ isdn_read(struct file *file, char __user *buf, size_t count, loff_t * off) int retval; char *p; + if (off != &file->f_pos) + return -ESPIPE; + lock_kernel(); if (minor == ISDN_MINOR_STATUS) { if (!file->private_data) { @@ -1048,6 +1051,9 @@ isdn_write(struct file *file, const char __user *buf, size_t count, loff_t * off int chidx; int retval; + if (off != &file->f_pos) + return -ESPIPE; + if (minor == ISDN_MINOR_STATUS) return -EPERM; if (!dev->drivers) @@ -1653,7 +1659,6 @@ isdn_open(struct inode *ino, struct file *filep) } #endif out: - nonseekable_open(ino, filep); return retval; }