@@ -821,33 +821,25 @@ 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) ||
- (sta->plid && sta->plid != plid))
+ 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) ||
- (sta->llid != llid || sta->plid != plid))
+ if (!matches_local)
+ event = CNF_RJCT;
+ else if (!mesh_plink_free_count(sdata) ||
+ (sta->llid != llid || sta->plid != plid))
event = CNF_IGNR;
else
event = CNF_ACPT;