From: nbd Date: Sat, 9 Jul 2005 16:17:12 +0000 (+0000) Subject: fix some small bugs in wificonf and wlcompat X-Git-Url: http://git.rohieb.name/openwrt.git/commitdiff_plain/d1af7898a241c9b3a4c7e2f77fa2221ae501642b fix some small bugs in wificonf and wlcompat git-svn-id: svn://svn.openwrt.org/openwrt/trunk@1385 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/openwrt/package/wificonf/wificonf.c b/openwrt/package/wificonf/wificonf.c index acb5522cc..e1df6675e 100644 --- a/openwrt/package/wificonf/wificonf.c +++ b/openwrt/package/wificonf/wificonf.c @@ -36,21 +36,18 @@ 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; } diff --git a/openwrt/target/linux/package/wlcompat/wlcompat.c b/openwrt/target/linux/package/wlcompat/wlcompat.c index 652a3681b..e96c86792 100644 --- a/openwrt/target/linux/package/wlcompat/wlcompat.c +++ b/openwrt/target/linux/package/wlcompat/wlcompat.c @@ -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)