On Tue, Oct 23, 2012 at 11:19:00AM -0700, [email protected] wrote: > From: Marco Porsch <[email protected]> > > When receiving a neighbor beacon, check if the neighbor indicates > buffered frames in its TIM IE and if it announces an awake window duration. > The routine for frame release towards PS neigbors will then evaluate these > parameters. > > Signed-off-by: Marco Porsch <[email protected]> > --- > net/mac80211/mesh_plink.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c > index 2901ec7..2392d80 100644 > --- a/net/mac80211/mesh_plink.c > +++ b/net/mac80211/mesh_plink.c > @@ -412,6 +412,8 @@ void mesh_neighbour_update(struct ieee80211_sub_if_data > *sdata, > struct ieee802_11_elems *elems) > { > struct sta_info *sta; > + bool has_buffered = false; > + u16 awake_window = 0; > > rcu_read_lock(); > sta = mesh_peer_init(sdata, hw_addr, elems); > @@ -425,6 +427,18 @@ void mesh_neighbour_update(struct ieee80211_sub_if_data > *sdata, > rssi_threshold_check(sta, sdata)) > mesh_plink_open(sta); > > + if (elems->tim && sta->plink_state == NL80211_PLINK_ESTAB) > + has_buffered = ieee80211_check_tim(elems->tim, > + elems->tim_len, le16_to_cpu(sta->llid)); > + > + if (has_buffered) > + mps_dbg(sdata, "%pM indicates buffered frames (LLID %d)\n", > + hw_addr, le16_to_cpu(sta->llid));
I'd use sta->sta.addr, but it makes no difference. > + if (elems->awake_window) > + awake_window = get_unaligned_le16(elems->awake_window); > + > + ieee80211_mesh_ps_deliver(sta, awake_window, has_buffered); This function hasn't even been introduced yet! As a general rule, each commit applied individually should still compile. > out: > rcu_read_unlock(); > } > -- > 1.7.9.5 > _______________________________________________ Devel mailing list [email protected] http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
