Return-path: Received: from mail.atheros.com ([12.36.123.2]:59833 "EHLO mail.atheros.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751472AbYLATRZ (ORCPT ); Mon, 1 Dec 2008 14:17:25 -0500 Received: from mail.atheros.com ([10.10.20.107]) by sidewinder.atheros.com for ; Mon, 01 Dec 2008 11:17:25 -0800 Date: Mon, 1 Dec 2008 11:17:23 -0800 From: "Luis R. Rodriguez" To: Christian Lamparter CC: Larry Finger , Johannes Berg , "linux-wireless@vger.kernel.org" , John W Linville , Stefan Steuerwald Subject: Re: [PATCH 1/6 v2.2] mac80211: add sta_notify_ps callback Message-ID: <20081201191723.GI5992@tesla> (sfid-20081201_201729_965722_3592FEDA) References: <200811292232.56550.chunkeey@web.de> <200811292309.38521.chunkeey@web.de> <4931CE5E.9030402@lwfinger.net> <200811300048.42352.chunkeey@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" In-Reply-To: <200811300048.42352.chunkeey@web.de> Sender: linux-wireless-owner@vger.kernel.org List-ID: On Sat, Nov 29, 2008 at 03:48:41PM -0800, Christian Lamparter wrote: > This patch is necessary in order to provide a proper Access point support for p54. > Unfortunately for us, there is no documented way to disable the interfering > power save buffering mechanism in firmware completely. > > Therefore we give in and notify the driver through our new sta_notify_ps callback, > so that we can update the filter state. > > Signed-off-by: Christian Lamparter > Acked-by: Johannes Berg > --- > the extra patch for mac80211_hwsim is no longer needed... > This whole series is all for wireless-testing. > > erm... now with a updated documentation!!1one > --- > > > > > > clear_sta_flags(sta, WLAN_STA_PS | WLAN_STA_PSPOLL); > > > + if (local->ops->sta_notify_ps) > > > + local->ops->sta_notify_ps(local_to_hw(local), STA_WOKE_UP, > > > + &sta->sta); > > > > With this patch, STA_WILL_SLEEP and STA_WOKE_UP are undefined. Is there a > > prerequisite that I missed? > > Larry > no it's just fsck fallout. one file got synced in time... the other didn't. > SLUB_DEBUG/SLAB_DEBUG don't work at all with p54usb. > --- > diff --git a/include/net/mac80211.h b/include/net/mac80211.h > index 6a1d4ea..4b972fc 100644 > --- a/include/net/mac80211.h > +++ b/include/net/mac80211.h > @@ -779,6 +779,19 @@ enum sta_notify_cmd { > }; > > /** > + * enum sta_notify_ps_cmd - sta power save notify command > + * > + * Used with the sta_notify_ps() callback in &struct ieee80211_ops to > + * notify the driver if a station made a power state transition. > + * > + * @STA_NOTIFY_SLEEP: a station is now sleeping > + * @STA_NOTIFY_AWAKE: a sleeping station woke up > + */ > +enum sta_notify_ps_cmd { > + STA_NOTIFY_SLEEP, STA_NOTIFY_AWAKE, > +}; > + > +/** > * enum ieee80211_tkip_key_type - get tkip key > * > * Used by drivers which need to get a tkip key for skb. Some drivers need a > @@ -1248,6 +1261,9 @@ enum ieee80211_ampdu_mlme_action { > * @sta_notify: Notifies low level driver about addition or removal > * of associated station or AP. > * > + * @sta_ps_notify: Notifies low level driver about the power state transition > + * of a associated station. Must be atomic. > + * Can we add documentation that this is only required when the AP cannot figure this out by itself? This can help people working on AP support to not think they need to implement this for all drivers. A patch can go on top of this I suppose. Luis