diff options
Diffstat (limited to 'drivers/infiniband/core/user_mad.c')
-rw-r--r-- | drivers/infiniband/core/user_mad.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c index e7db054fb1c8..6babb72b39fc 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c | |||
@@ -781,7 +781,7 @@ static int ib_umad_open(struct inode *inode, struct file *filp) | |||
781 | { | 781 | { |
782 | struct ib_umad_port *port; | 782 | struct ib_umad_port *port; |
783 | struct ib_umad_file *file; | 783 | struct ib_umad_file *file; |
784 | int ret = 0; | 784 | int ret; |
785 | 785 | ||
786 | port = container_of(inode->i_cdev, struct ib_umad_port, cdev); | 786 | port = container_of(inode->i_cdev, struct ib_umad_port, cdev); |
787 | if (port) | 787 | if (port) |
@@ -814,6 +814,8 @@ static int ib_umad_open(struct inode *inode, struct file *filp) | |||
814 | 814 | ||
815 | list_add_tail(&file->port_list, &port->file_list); | 815 | list_add_tail(&file->port_list, &port->file_list); |
816 | 816 | ||
817 | ret = nonseekable_open(inode, filp); | ||
818 | |||
817 | out: | 819 | out: |
818 | mutex_unlock(&port->file_mutex); | 820 | mutex_unlock(&port->file_mutex); |
819 | return ret; | 821 | return ret; |
@@ -866,7 +868,8 @@ static const struct file_operations umad_fops = { | |||
866 | .compat_ioctl = ib_umad_compat_ioctl, | 868 | .compat_ioctl = ib_umad_compat_ioctl, |
867 | #endif | 869 | #endif |
868 | .open = ib_umad_open, | 870 | .open = ib_umad_open, |
869 | .release = ib_umad_close | 871 | .release = ib_umad_close, |
872 | .llseek = no_llseek, | ||
870 | }; | 873 | }; |
871 | 874 | ||
872 | static int ib_umad_sm_open(struct inode *inode, struct file *filp) | 875 | 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) | |||
903 | 906 | ||
904 | filp->private_data = port; | 907 | filp->private_data = port; |
905 | 908 | ||
906 | return 0; | 909 | return nonseekable_open(inode, filp); |
907 | 910 | ||
908 | fail: | 911 | fail: |
909 | kref_put(&port->umad_dev->ref, ib_umad_release_dev); | 912 | 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) | |||
933 | static const struct file_operations umad_sm_fops = { | 936 | static const struct file_operations umad_sm_fops = { |
934 | .owner = THIS_MODULE, | 937 | .owner = THIS_MODULE, |
935 | .open = ib_umad_sm_open, | 938 | .open = ib_umad_sm_open, |
936 | .release = ib_umad_sm_close | 939 | .release = ib_umad_sm_close, |
940 | .llseek = no_llseek, | ||
937 | }; | 941 | }; |
938 | 942 | ||
939 | static struct ib_client umad_client = { | 943 | static struct ib_client umad_client = { |