Hi Alvaro: > Date: Sat, 18 Oct 2014 13:55:39 +0200 > From: nolt...@gmail.com > To: openwrt-devel@lists.openwrt.org; ha...@hauke-m.de; blo...@openwrt.org; > n...@openwrt.org > Subject: [OpenWrt-Devel] [PATCH v4] brcm-wl: fix bash comparison error > > wlc returns a string number ending with "\n", making it impossible to compare > this value to a number. > > Signed-off-by: Álvaro Fernández Rojas <nolt...@gmail.com> > --- > v4: remove bashishm as suggested by Bastian Bittorf. > v3: avoid using an extra variable. > v2: use string comparison > > diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh > b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh > index 69e3132..5994e26 100644 > --- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh > +++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh > @@ -209,7 +209,7 @@ enable_broadcom() { > } > > local leddc=$(wlc ifname "$device" leddc) > - [ "$leddc" -eq 0xffff ] || { > + [ "$leddc" = '0xffff\n' ] || { > leddc=0x005a000a; > } Using the "\n" is not correct. I think the real problem is that the logic is reversed (should be && instead of ||); although it might be better to eliminate the conditional entirely since leddc is always commanded to "0xffff" when the interface is taken down. local leddc=$(wlc ifname "$device" leddc) [ "$leddc" = "0xffff" ] && { leddc=0x005a000a } Nathan > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel