fix some small bugs in wificonf and wlcompat
authorFelix Fietkau <nbd@openwrt.org>
Sat, 9 Jul 2005 16:17:12 +0000 (16:17 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 9 Jul 2005 16:17:12 +0000 (16:17 +0000)
SVN-Revision: 1385

openwrt/package/wificonf/wificonf.c
openwrt/target/linux/package/wlcompat/wlcompat.c

index acb5522cc862997c8075e857608cb1572185d5e1..e1df6675e251b037094f170a3ec402a779656f0c 100644 (file)
        do { \
                ERR_SET_EXT(rname, request); \
                fprintf(stderr, "    too few arguments.\n"); \
-               return; \
        } while(0)
 
 #define ABORT_ARG_TYPE(rname, request, arg) \
        do { \
                ERR_SET_EXT(rname, request); \
                fprintf(stderr, "    invalid argument \"%s\".\n", arg); \
-               return; \
        } while(0)
 
 #define ABORT_ARG_SIZE(rname, request, max) \
        do { \
                ERR_SET_EXT(rname, request); \
                fprintf(stderr, "    argument too big (max %d)\n", max); \
-               return; \
        } while(0)
 
 /*------------------------------------------------------------------*/
@@ -64,7 +61,6 @@
                ERR_SET_EXT(rname, request); \
                fprintf(stderr, "    SET failed on device %-1.16s ; %s.\n", \
                        ifname, strerror(errno)); \
-               return; \
        } } while(0)
 
 /*------------------------------------------------------------------*/
@@ -78,7 +74,6 @@
                ERR_SET_EXT(rname, request); \
                fprintf(stderr, "    GET failed on device %-1.16s ; %s.\n", \
                        ifname, strerror(errno)); \
-               return; \
        } } while(0)
 
 char *prefix;
@@ -115,8 +110,6 @@ int bcom_ioctl(int skfd, char *ifname, int cmd, void *buf, int len)
        strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
 
        ret = ioctl(skfd, SIOCDEVPRIVATE, &ifr);
-       if (ret < 0)
-               fprintf(stderr, "bcom_ioctl [cmd=%d, buf=%08x, len=%d] failed: %d\n", cmd, buf, len, ret);
 
        return ret;
 }
index 652a3681bcd1e131d36ab2592770f116b7fb7522..e96c867923186a2e5e3c713eaeae1e579ad9d80c 100644 (file)
@@ -412,8 +412,7 @@ static int wlcompat_ioctl(struct net_device *dev,
                {
                        int radio;
 
-                       if (wl_ioctl(dev, WLC_GET_RADIO, &radio, sizeof(int)) < 0)
-                               return -EINVAL;
+                       wl_ioctl(dev, WLC_GET_RADIO, &radio, sizeof(int));
                        
                        if (wl_get_val(dev, "qtxpower", &(wrqu->txpower.value), sizeof(int)) < 0)
                                return -EINVAL;
@@ -431,10 +430,9 @@ static int wlcompat_ioctl(struct net_device *dev,
                        /* This is weird: WLC_SET_RADIO with 1 as argument disables the radio */
                        int radio = wrqu->txpower.disabled;
 
-                       if (wl_ioctl(dev, WLC_SET_RADIO, &radio, sizeof(int)) < 0)
-                               return -EINVAL;
+                       wl_ioctl(dev, WLC_SET_RADIO, &radio, sizeof(int));
                        
-                       if (!wrqu->txpower.disabled) {
+                       if (!wrqu->txpower.disabled && (wrqu->txpower.value > 0)) {
                                int value;
                                
                                if (wl_get_val(dev, "qtxpower", &value, sizeof(int)) < 0)