On Fri, 2011-10-21 at 12:36 +0400, Ivan Bezyazychnyy wrote: > +/* mesh power save level subfield mask */ > +#define IEEE80211_QOS_CTL_PS_LEVEL 0x0200 That looks like it could use a better name? > --- a/include/linux/nl80211.h Why is this in a mac80211 patch? > --- a/include/net/cfg80211.h > +++ b/include/net/cfg80211.h > @@ -765,6 +765,8 @@ struct mesh_config { > u16 dot11MeshMaxPeerLinks; > u8 dot11MeshMaxRetries; > u8 dot11MeshTTL; > + /* non-peer mesh power save mode */ > + u8 power_mode; Ditto. > +#ifdef CONFIG_MAC80211_MESH No ifdefs please. There's no need for these. > ieee80211_set_qos_hdr(sdata, skb); > +#ifdef CONFIG_MAC80211_MESH > + ieee80211_set_mesh_ps_fields(sdata, hdr); > +#endif /* CONFIG_MAC80211_MESH */ ditto. > /* receiver and we are QoS enabled, use a QoS type frame */ > - if (wme_sta && local->hw.queues >= 4) { > + if ((wme_sta && local->hw.queues >= 4) || > + (ieee80211_vif_is_mesh(&sdata->vif) && > + (ieee80211s_get_ps_mode(sdata, &hdr) != > + NL80211_MESH_POWER_ACTIVE))) { > fc |= cpu_to_le16(IEEE80211_STYPE_QOS_DATA); This should not be necessary. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html