summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/print_wireless_info.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/print_wireless_info.c b/src/print_wireless_info.c
index 9ab9c2f..a678f52 100644
--- a/src/print_wireless_info.c
+++ b/src/print_wireless_info.c
@@ -93,6 +93,15 @@ static int get_wireless_info(const char *interface, wireless_info_t *info) {
info->essid[IW_ESSID_MAX_SIZE] = '\0';
}
+ /* If the function iw_get_stats does not return proper stats, the
+ wifi is considered as down.
+ Since ad-hoc network does not have theses stats, we need to return
+ here for this mode. */
+ if (wcfg.mode == 1) {
+ close(skfd);
+ return 1;
+ }
+
/* Wireless quality is a relative value in a driver-specific range.
Signal and noise level can be either relative or absolute values
in dBm. Furthermore, noise and quality can be expressed directly