Displaying 2 results from an estimated 2 matches for "br_ioctl_device".
2007 Apr 18
0
[Bridge] [PATCH] (4/11) bridge - ioctl cleanup and consolidation
..._do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
-{
- unsigned long args[4];
- unsigned long *data;
-
- if (cmd != SIOCDEVPRIVATE)
- return -EOPNOTSUPP;
-
- data = (unsigned long *)rq->ifr_data;
- if (copy_from_user(args, data, 4*sizeof(unsigned long)))
- return -EFAULT;
-
- return br_ioctl_device(dev->priv, args[0], args[1], args[2], args[3]);
-}
-
static struct net_device_stats *br_dev_get_stats(struct net_device *dev)
{
struct net_bridge *br;
@@ -115,7 +100,7 @@
ether_setup(dev);
- dev->do_ioctl = br_dev_do_ioctl;
+ dev->do_ioctl = br_dev_ioctl;
dev->get_stats = br...
2007 Apr 18
1
[Bridge] [PATCH 2.4] bridge - eliminate br_ioctl_mutex
...include <linux/kernel.h>
#include <linux/if_bridge.h>
#include <linux/inetdevice.h>
+#include <linux/rtnetlink.h>
#include <asm/uaccess.h>
#include "br_private.h"
@@ -230,11 +231,8 @@
return -EOPNOTSUPP;
}
-static DECLARE_MUTEX(ioctl_mutex);
-
int br_ioctl_deviceless_stub(unsigned long arg)
{
- int err;
unsigned long i[3];
if (!capable(CAP_NET_ADMIN))
@@ -243,11 +241,8 @@
if (copy_from_user(i, (void *)arg, 3*sizeof(unsigned long)))
return -EFAULT;
- down(&ioctl_mutex);
- err = br_ioctl_deviceless(i[0], i[1], i[2]);
- up(&ioctl_mutex);...