- patches.arch/x86_mce_intel_decode_physical_address.patch:
[linux-flexiantxendom0-3.2.10.git] / drivers / infiniband / core / user_mad.c
index e7db054..6babb72 100644 (file)
@@ -781,7 +781,7 @@ static int ib_umad_open(struct inode *inode, struct file *filp)
 {
        struct ib_umad_port *port;
        struct ib_umad_file *file;
-       int ret = 0;
+       int ret;
 
        port = container_of(inode->i_cdev, struct ib_umad_port, cdev);
        if (port)
@@ -814,6 +814,8 @@ static int ib_umad_open(struct inode *inode, struct file *filp)
 
        list_add_tail(&file->port_list, &port->file_list);
 
+       ret = nonseekable_open(inode, filp);
+
 out:
        mutex_unlock(&port->file_mutex);
        return ret;
@@ -866,7 +868,8 @@ static const struct file_operations umad_fops = {
        .compat_ioctl   = ib_umad_compat_ioctl,
 #endif
        .open           = ib_umad_open,
-       .release        = ib_umad_close
+       .release        = ib_umad_close,
+       .llseek         = no_llseek,
 };
 
 static int ib_umad_sm_open(struct inode *inode, struct file *filp)
@@ -903,7 +906,7 @@ static int ib_umad_sm_open(struct inode *inode, struct file *filp)
 
        filp->private_data = port;
 
-       return 0;
+       return nonseekable_open(inode, filp);
 
 fail:
        kref_put(&port->umad_dev->ref, ib_umad_release_dev);
@@ -933,7 +936,8 @@ static int ib_umad_sm_close(struct inode *inode, struct file *filp)
 static const struct file_operations umad_sm_fops = {
        .owner   = THIS_MODULE,
        .open    = ib_umad_sm_open,
-       .release = ib_umad_sm_close
+       .release = ib_umad_sm_close,
+       .llseek  = no_llseek,
 };
 
 static struct ib_client umad_client = {