diff -aur old/src/wl/sys/wl_cfg80211.c new/src/wl/sys/wl_cfg80211.c --- old/src/wl/sys/wl_cfg80211.c 2011-10-23 03:56:55.000000000 +1100 +++ new/src/wl/sys/wl_cfg80211.c 2012-05-24 18:43:17.324465658 +1000 @@ -1466,7 +1466,10 @@ scb_val.val = 0; err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t)); if (err) { - WL_ERR(("Could not get rssi (%d)\n", err)); + if (err != -EINVAL) { + // Don't fill syslog with EINVAL error + WL_ERR(("Could not get rssi (%d)\n", err)); + } return err; } rssi = dtoh32(scb_val.val); diff -aur old/src/wl/sys/wl_linux.c new/src/wl/sys/wl_linux.c --- old/src/wl/sys/wl_linux.c 2011-10-23 03:56:55.000000000 +1100 +++ new/src/wl/sys/wl_linux.c 2012-05-24 18:43:17.324465658 +1000 @@ -1579,11 +1579,7 @@ } WL_LOCK(wl); - if (!capable(CAP_NET_ADMIN)) { - bcmerror = BCME_EPERM; - } else { - bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif); - } + bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif); WL_UNLOCK(wl); done1: