diff options
Diffstat (limited to 'net/mac80211/mesh_hwmp.c')
-rw-r--r-- | net/mac80211/mesh_hwmp.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index 9aecf0207afc..833b2f3670c5 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c | |||
@@ -936,17 +936,16 @@ int mesh_nexthop_lookup(struct sk_buff *skb, | |||
936 | } | 936 | } |
937 | 937 | ||
938 | if (mpath->flags & MESH_PATH_ACTIVE) { | 938 | if (mpath->flags & MESH_PATH_ACTIVE) { |
939 | if (time_after(jiffies, mpath->exp_time + | 939 | if (time_after(jiffies, |
940 | msecs_to_jiffies(sdata->u.mesh.mshcfg.path_refresh_time)) | 940 | mpath->exp_time + |
941 | && !memcmp(sdata->dev->dev_addr, hdr->addr4, | 941 | msecs_to_jiffies(sdata->u.mesh.mshcfg.path_refresh_time)) && |
942 | ETH_ALEN) | 942 | !memcmp(sdata->dev->dev_addr, hdr->addr4, ETH_ALEN) && |
943 | && !(mpath->flags & MESH_PATH_RESOLVING) | 943 | !(mpath->flags & MESH_PATH_RESOLVING) && |
944 | && !(mpath->flags & MESH_PATH_FIXED)) { | 944 | !(mpath->flags & MESH_PATH_FIXED)) { |
945 | mesh_queue_preq(mpath, | 945 | mesh_queue_preq(mpath, |
946 | PREQ_Q_F_START | PREQ_Q_F_REFRESH); | 946 | PREQ_Q_F_START | PREQ_Q_F_REFRESH); |
947 | } | 947 | } |
948 | memcpy(hdr->addr1, mpath->next_hop->sta.addr, | 948 | memcpy(hdr->addr1, mpath->next_hop->sta.addr, ETH_ALEN); |
949 | ETH_ALEN); | ||
950 | } else { | 949 | } else { |
951 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); | 950 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); |
952 | if (!(mpath->flags & MESH_PATH_RESOLVING)) { | 951 | if (!(mpath->flags & MESH_PATH_RESOLVING)) { |