Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58506eba authored by Bob Copeland's avatar Bob Copeland Committed by Johannes Berg
Browse files

mac80211: mesh_plink: collapse the two switch statements together



The matches_local check can just be done when looking at the
individual action types.

Signed-off-by: default avatarBob Copeland <bob@cozybit.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 36c9bb29
Loading
Loading
Loading
Loading
+9 −17
Original line number Diff line number Diff line
@@ -821,32 +821,24 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,

	/* Now we will figure out the appropriate event... */
	event = PLINK_UNDEFINED;
	if (!matches_local) {
		switch (ftype) {
		case WLAN_SP_MESH_PEERING_OPEN:
			event = OPN_RJCT;
			break;
		case WLAN_SP_MESH_PEERING_CONFIRM:
			event = CNF_RJCT;
			break;
		default:
			break;
		}
	}

	if (!sta)
		event = OPN_ACPT;
	else if (matches_local) {
	else {
		switch (ftype) {
		case WLAN_SP_MESH_PEERING_OPEN:
			if (!mesh_plink_free_count(sdata) ||
			if (!matches_local)
				event = OPN_RJCT;
			else if (!mesh_plink_free_count(sdata) ||
				 (sta->plid && sta->plid != plid))
				event = OPN_IGNR;
			else
				event = OPN_ACPT;
			break;
		case WLAN_SP_MESH_PEERING_CONFIRM:
			if (!mesh_plink_free_count(sdata) ||
			if (!matches_local)
				event = CNF_RJCT;
			else if (!mesh_plink_free_count(sdata) ||
				 (sta->llid != llid || sta->plid != plid))
				event = CNF_IGNR;
			else