Jelajahi Sumber

mac80211: refactor skb copy to failq in mesh_path_move_to_queue

This seems a bit less awkward...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville 14 tahun lalu
induk
melakukan
817a53d986
1 mengubah file dengan 4 tambahan dan 4 penghapusan
  1. 4 4
      net/mac80211/mesh_pathtbl.c

+ 4 - 4
net/mac80211/mesh_pathtbl.c

@@ -307,14 +307,14 @@ static void mesh_path_move_to_queue(struct mesh_path *gate_mpath,
 
 
 	while (num_skbs--) {
 	while (num_skbs--) {
 		skb = __skb_dequeue(&failq);
 		skb = __skb_dequeue(&failq);
-		if (copy)
+		if (copy) {
 			cp_skb = skb_copy(skb, GFP_ATOMIC);
 			cp_skb = skb_copy(skb, GFP_ATOMIC);
+			if (cp_skb)
+				__skb_queue_tail(&failq, cp_skb);
+		}
 
 
 		prepare_for_gate(skb, gate_mpath->dst, gate_mpath);
 		prepare_for_gate(skb, gate_mpath->dst, gate_mpath);
 		__skb_queue_tail(&gateq, skb);
 		__skb_queue_tail(&gateq, skb);
-
-		if (copy && cp_skb)
-			__skb_queue_tail(&failq, cp_skb);
 	}
 	}
 
 
 	spin_lock_irqsave(&gate_mpath->frame_queue.lock, flags);
 	spin_lock_irqsave(&gate_mpath->frame_queue.lock, flags);