aboutsummaryrefslogtreecommitdiff
path: root/net/socket.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2008-06-25 15:17:58 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-25 15:17:58 -0400
commit1839cea91e5629756dd4f87c5d70d8a18b89c0b4 (patch)
tree88c6788cab32303570c7558dda5cbf40ed26bfb3 /net/socket.c
parente35c3269edba151e1c703d87068a28ce2cd65bb0 (diff)
parentccc580571cf0799d0460a085a7632b77753f083e (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/wireless-2.6
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c
index 66c4a8cf6db..81fe8251304 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -90,6 +90,7 @@
#include <asm/unistd.h>
#include <net/compat.h>
+#include <net/wext.h>
#include <net/sock.h>
#include <linux/netfilter.h>
@@ -2210,10 +2211,19 @@ static long compat_sock_ioctl(struct file *file, unsigned cmd,
{
struct socket *sock = file->private_data;
int ret = -ENOIOCTLCMD;
+ struct sock *sk;
+ struct net *net;
+
+ sk = sock->sk;
+ net = sock_net(sk);
if (sock->ops->compat_ioctl)
ret = sock->ops->compat_ioctl(sock, cmd, arg);
+ if (ret == -ENOIOCTLCMD &&
+ (cmd >= SIOCIWFIRST && cmd <= SIOCIWLAST))
+ ret = compat_wext_handle_ioctl(net, cmd, arg);
+
return ret;
}
#endif