www.usr.com/support/gpl/USR9113_release1.0.tar.gz
[bcm963xx.git] / kernel / linux / net / bridge / br_ioctl.c
index f296a55..d00f542 100755 (executable)
@@ -54,16 +54,17 @@ static void get_port_ifindices(struct net_bridge *br, int *ifindices, int num)
 }
 
 #if defined(CONFIG_MIPS_BRCM)
-void br_set_port_snooping(struct net_bridge_port *p,  void __user * userbuf)
+int br_set_port_snooping(struct net_bridge_port *p,  void __user * userbuf)
 {
     unsigned char tmp[26];
     
     if (copy_from_user(tmp, userbuf, sizeof(tmp)))
                return -EFAULT;
     br_mc_fdb_add(p->br, p, tmp, tmp+6);
+    return 0;
 }
 
-void br_clear_port_snooping(struct net_bridge_port *p,  void __user * userbuf)
+int br_clear_port_snooping(struct net_bridge_port *p,  void __user * userbuf)
 {
     unsigned char tmp[26];
     unsigned char all[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
@@ -75,6 +76,7 @@ void br_clear_port_snooping(struct net_bridge_port *p,  void __user * userbuf)
        br_mc_fdb_remove_grp(p->br, p, tmp);
     else
        br_mc_fdb_remove(p->br, p, tmp, tmp+6);
+    return 1;
 }
 #endif
 
@@ -329,7 +331,7 @@ static int old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                if ((p = br_get_port(br, args[1])) == NULL) 
                        ret = -EINVAL;
                else
-                       br_set_port_snooping(p, args[2]);
+                       br_set_port_snooping(p, (void __user *) args[2]);
                spin_unlock_bh(&br->lock);
                return ret;
        }
@@ -346,7 +348,7 @@ static int old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                if ((p = br_get_port(br, args[1])) == NULL) 
                        ret = -EINVAL;
                else
-                       br_clear_port_snooping(p, args[2]);
+                       br_clear_port_snooping(p, (void __user *) args[2]);
                spin_unlock_bh(&br->lock);
                return ret;
        }