diff options
-rw-r--r-- | net/mac80211/mesh.h | 2 | ||||
-rw-r--r-- | net/mac80211/mesh_hwmp.c | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h index ce538814b9bd..6aaf1ecbcb63 100644 --- a/net/mac80211/mesh.h +++ b/net/mac80211/mesh.h | |||
@@ -61,7 +61,7 @@ enum mesh_path_flags { | |||
61 | * retry | 61 | * retry |
62 | * @discovery_retries: number of discovery retries | 62 | * @discovery_retries: number of discovery retries |
63 | * @flags: mesh path flags, as specified on &enum mesh_path_flags | 63 | * @flags: mesh path flags, as specified on &enum mesh_path_flags |
64 | * @state_lock: mesh pat state lock | 64 | * @state_lock: mesh path state lock |
65 | * | 65 | * |
66 | * | 66 | * |
67 | * The combination of dst and sdata is unique in the mesh path table. Since the | 67 | * The combination of dst and sdata is unique in the mesh path table. Since the |
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index e1a763ea1e39..b54c21cf5f73 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c | |||
@@ -810,10 +810,8 @@ int mesh_nexthop_lookup(struct sk_buff *skb, | |||
810 | } | 810 | } |
811 | 811 | ||
812 | if (skb_queue_len(&mpath->frame_queue) >= | 812 | if (skb_queue_len(&mpath->frame_queue) >= |
813 | MESH_FRAME_QUEUE_LEN) { | 813 | MESH_FRAME_QUEUE_LEN) |
814 | skb_to_free = mpath->frame_queue.next; | 814 | skb_to_free = skb_dequeue(&mpath->frame_queue); |
815 | skb_unlink(skb_to_free, &mpath->frame_queue); | ||
816 | } | ||
817 | 815 | ||
818 | info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING; | 816 | info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING; |
819 | skb_queue_tail(&mpath->frame_queue, skb); | 817 | skb_queue_tail(&mpath->frame_queue, skb); |