Search Linux Wireless

[PATCH 8/8] Print frequency of radar events.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Benjamin Berg <benjamin.berg@xxxxxxxxxxxxx>

Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Berg <benjamin.berg@xxxxxxxxxxxxx>
---
 event.c | 48 +++++++++++++++++++++++++-----------------------
 1 file changed, 25 insertions(+), 23 deletions(-)

diff --git a/event.c b/event.c
index 446debb..8014d73 100644
--- a/event.c
+++ b/event.c
@@ -584,30 +584,32 @@ static int print_event(struct nl_msg *msg, void *arg)
 				   nla_data(tb[NL80211_ATTR_VENDOR_DATA]),
 				   nla_len(tb[NL80211_ATTR_VENDOR_DATA]));
 		break;
-	case NL80211_CMD_RADAR_DETECT:
-		printf("radar event ");
-		if (tb[NL80211_ATTR_RADAR_EVENT]) {
-			switch (nla_get_u32(tb[NL80211_ATTR_RADAR_EVENT])) {
-				case NL80211_RADAR_DETECTED:
-					printf("(radar detected)");
-					break;
-				case NL80211_RADAR_CAC_FINISHED:
-					printf("(cac finished)");
-					break;
-				case NL80211_RADAR_CAC_ABORTED:
-					printf("(cac aborted)");
-					break;
-				case NL80211_RADAR_NOP_FINISHED:
-					printf("(nop finished)");
-					break;
-				default:
-					printf("(unknown)");
-					break;
-			};
-		} else {
-			printf("(unknown)");
+	case NL80211_CMD_RADAR_DETECT: {
+			enum nl80211_radar_event event_type;
+			uint32_t freq;
+
+			if (!tb[NL80211_ATTR_RADAR_EVENT] || !tb[NL80211_ATTR_WIPHY_FREQ])
+				printf("BAD radar event");
+			freq = nla_get_u32(tb[NL80211_ATTR_WIPHY_FREQ]);
+			event_type = nla_get_u32(tb[NL80211_ATTR_RADAR_EVENT]);
+
+			switch (event_type) {
+			case NL80211_RADAR_DETECTED:
+				printf("%d MHz: radar detected\n", freq);
+				break;
+			case NL80211_RADAR_CAC_FINISHED:
+				printf("%d MHz: CAC finished\n", freq);
+				break;
+			case NL80211_RADAR_CAC_ABORTED:
+				printf("%d MHz: CAC was aborted\n", freq);
+				break;
+			case NL80211_RADAR_NOP_FINISHED:
+				printf("%d MHz: NOP finished\n", freq);
+				break;
+			default:
+				printf("%d MHz: unknown radar event\n", freq);
+			}
 		}
-		printf("\n");
 		break;
 	case NL80211_CMD_DEL_WIPHY:
 		printf("delete wiphy\n");
-- 
2.10.2




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux