From be2c35785994e443d895225c7240474a46f64f5e Mon Sep 17 00:00:00 2001 From: Tobias Date: Sun, 8 Jul 2018 20:10:17 +0200 Subject: [PATCH] respondd-module-airtime: Fix reported noise result (#190) The noise value delivered by nl80211 is actually a signed int8. Thus it must be interpreted as a signed value, too. Signed-off-by: Tobias Schramm --- net/respondd-module-airtime/Makefile | 2 +- net/respondd-module-airtime/src/airtime.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/net/respondd-module-airtime/Makefile b/net/respondd-module-airtime/Makefile index 1353eb2..6a6e450 100644 --- a/net/respondd-module-airtime/Makefile +++ b/net/respondd-module-airtime/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=respondd-module-airtime PKG_VERSION:=1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=BSD-2-Clause diff --git a/net/respondd-module-airtime/src/airtime.c b/net/respondd-module-airtime/src/airtime.c index a64c825..7e27ee0 100644 --- a/net/respondd-module-airtime/src/airtime.c +++ b/net/respondd-module-airtime/src/airtime.c @@ -116,7 +116,10 @@ static int survey_airtime_handler(struct nl_msg *msg, void *arg) { data_json = json_object_new_int(nla_get_u32(nla)); break; case sizeof(uint8_t): - data_json = json_object_new_int(nla_get_u8(nla)); + if (type == NL80211_SURVEY_INFO_NOISE) + data_json = json_object_new_int((int8_t)nla_get_u8(nla)); + else + data_json = json_object_new_int(nla_get_u8(nla)); break; default: fprintf(stderr, "respondd-module-airtime: Unexpected NL attribute length: %d\n", nla_len(nla));