/** * mesh_plink_deactivate - deactivate mesh peer link * * @sta: mesh peer link to deactivate * * All mesh paths with this peer as next hop will be flushed * * Locking: the caller must hold sta->lock */ static void __mesh_plink_deactivate(struct sta_info *sta) { struct ieee80211_sub_if_data *sdata = sta->sdata; if (sta->plink_state == PLINK_ESTAB) mesh_plink_dec_estab_count(sdata); sta->plink_state = PLINK_BLOCKED; mesh_path_flush_by_nexthop(sta); }
/** * __mesh_plink_deactivate - deactivate mesh peer link * * @sta: mesh peer link to deactivate * * All mesh paths with this peer as next hop will be flushed * * Locking: the caller must hold sta->lock */ static bool __mesh_plink_deactivate(struct sta_info *sta) { struct ieee80211_sub_if_data *sdata = sta->sdata; bool deactivated = false; if (sta->plink_state == PLINK_ESTAB) { mesh_plink_dec_estab_count(sdata); deactivated = true; } sta->plink_state = PLINK_BLOCKED; mesh_path_flush_by_nexthop(sta); return deactivated; }