Search Linux Wireless

Re: [PATCH 5/6] mac80211: stringify another plink state

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

 



On Mon, 2013-04-08 at 14:27 -0700, Joe Perches wrote:
> On Mon, 2013-04-08 at 11:06 -0700, Thomas Pedersen wrote:
> > The patch "mac80211: stringify mesh peering events" missed
> > an opportunity to print the peering state as a string.
> 
> Perhaps it's better to use functions for these instead of
> indexing in case an index is somehow incorrectly set.

Maybe:

 net/mac80211/mesh_plink.c | 73 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 51 insertions(+), 22 deletions(-)

diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
index 937e06f..55d01d4 100644
--- a/net/mac80211/mesh_plink.c
+++ b/net/mac80211/mesh_plink.c
@@ -37,27 +37,55 @@ enum plink_event {
 	CLS_IGNR
 };
 
-static const char * const mplstates[] = {
-	[NL80211_PLINK_LISTEN] = "LISTEN",
-	[NL80211_PLINK_OPN_SNT] = "OPN-SNT",
-	[NL80211_PLINK_OPN_RCVD] = "OPN-RCVD",
-	[NL80211_PLINK_CNF_RCVD] = "CNF_RCVD",
-	[NL80211_PLINK_ESTAB] = "ESTAB",
-	[NL80211_PLINK_HOLDING] = "HOLDING",
-	[NL80211_PLINK_BLOCKED] = "BLOCKED"
-};
+static const char *mplstates(enum nl80211_plink_state state)
+{
+	switch (state) {
+	case NL80211_PLINK_LISTEN:
+		return "LISTEN";
+	case NL80211_PLINK_OPN_SNT:
+		return "OPN-SNT";
+	case NL80211_PLINK_OPN_RCVD:
+		return "OPN-RCVD";
+	case NL80211_PLINK_CNF_RCVD:
+		return "CNF_RCVD";
+	case NL80211_PLINK_ESTAB:
+		return "ESTAB";
+	case NL80211_PLINK_HOLDING:
+		return "HOLDING";
+	case NL80211_PLINK_BLOCKED:
+		return "BLOCKED";
+	default:
+		break;
+	}
+	return "UNKNOWN_PLINK_STATE";
+}
 
-static const char * const mplevents[] = {
-	[PLINK_UNDEFINED] = "NONE",
-	[OPN_ACPT] = "OPN_ACPT",
-	[OPN_RJCT] = "OPN_RJCT",
-	[OPN_IGNR] = "OPN_IGNR",
-	[CNF_ACPT] = "CNF_ACPT",
-	[CNF_RJCT] = "CNF_RJCT",
-	[CNF_IGNR] = "CNF_IGNR",
-	[CLS_ACPT] = "CLS_ACPT",
-	[CLS_IGNR] = "CLS_IGNR"
-};
+static const char *mplevents(enum plink_event event)
+{
+	switch (event) {
+	case PLINK_UNDEFINED:
+		return "NONE";
+	case OPN_ACPT:
+		return "OPN_ACPT";
+	case OPN_RJCT:
+		return "OPN_RJCT";
+	case OPN_IGNR:
+		return "OPN_IGNR";
+	case CNF_ACPT:
+		return "CNF_ACPT";
+	case CNF_RJCT:
+		return "CNF_RJCT";
+	case CNF_IGNR:
+		return "CNF_IGNR";
+	case CLS_ACPT:
+		return "CLS_ACPT";
+	case CLS_IGNR:
+		return "CLS_IGNR";
+	default:
+		break;
+	}
+	return "UNKNOWN_PLINK_EVENT";
+}
 
 static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
 			       enum ieee80211_self_protected_actioncode action,
@@ -841,8 +869,9 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,
 		}
 	}
 
-	mpl_dbg(sdata, "peer %pM in state %s got event %s\n", mgmt->sa,
-		       mplstates[sta->plink_state], mplevents[event]);
+	mpl_dbg(sdata, "peer %pM in state %d (%s) got event %d (%s)\n",
+		mgmt->sa, sta->plink_state, mplstates(sta->plink_state),
+		event, mplevents(event));
 	reason = 0;
 	spin_lock_bh(&sta->lock);
 	switch (sta->plink_state) {


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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