mac80211: simplify mesh frame queue mapping and QoS
[deliverable/linux.git] / net / mac80211 / mesh_pathtbl.c
index 4fc8c7a5d4dd010f934f5ddecf01f2d07224f9fe..4fc23d1b9c3af921036643d6ed7f242e817685ce 100644 (file)
@@ -213,7 +213,6 @@ void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta)
        struct ieee80211_hdr *hdr;
        struct sk_buff_head tmpq;
        unsigned long flags;
-       struct ieee80211_sub_if_data *sdata = mpath->sdata;
 
        rcu_assign_pointer(mpath->next_hop, sta);
 
@@ -224,8 +223,6 @@ void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta)
        while ((skb = __skb_dequeue(&mpath->frame_queue)) != NULL) {
                hdr = (struct ieee80211_hdr *) skb->data;
                memcpy(hdr->addr1, sta->sta.addr, ETH_ALEN);
-               skb_set_queue_mapping(skb, ieee80211_select_queue(sdata, skb));
-               ieee80211_set_qos_hdr(sdata->local, skb);
                __skb_queue_tail(&tmpq, skb);
        }
 
@@ -1168,6 +1165,6 @@ void mesh_path_expire(struct ieee80211_sub_if_data *sdata)
 void mesh_pathtbl_unregister(void)
 {
        /* no need for locking during exit path */
-       mesh_table_free(rcu_dereference_raw(mesh_paths), true);
-       mesh_table_free(rcu_dereference_raw(mpp_paths), true);
+       mesh_table_free(rcu_dereference_protected(mesh_paths, 1), true);
+       mesh_table_free(rcu_dereference_protected(mpp_paths, 1), true);
 }
This page took 0.025599 seconds and 5 git commands to generate.