From 18ae3a675cd56ebcf476c232c603dd6da31e8441 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Mon, 11 Apr 2016 09:56:20 +0100 Subject: [PATCH] bsd: Set level correctly for non FreeBSD systems Only FreeBSD treats rssi as dBm, other BSD have no special meaning to rssi. Signed-off-by: Roy Marples --- src/drivers/driver_bsd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/drivers/driver_bsd.c b/src/drivers/driver_bsd.c index fd73f2e5d..2afd7df96 100644 --- a/src/drivers/driver_bsd.c +++ b/src/drivers/driver_bsd.c @@ -1376,11 +1376,16 @@ wpa_driver_bsd_add_scan_entry(struct wpa_scan_results *res, result->caps = sr->isr_capinfo; result->qual = sr->isr_rssi; result->noise = sr->isr_noise; + +#ifdef __FreeBSD__ /* * the rssi value reported by the kernel is in 0.5dB steps relative to * the reported noise floor. see ieee80211_node.h for details. */ result->level = sr->isr_rssi / 2 + sr->isr_noise; +#else + result->level = sr->isr_rssi; +#endif pos = (u8 *)(result + 1);