* [RFC 07/07] mac80211: Do not call release_buffered_frames if not available.
@ 2011-10-12 1:02 Dmitry Tarnyagin
2011-10-12 8:32 ` Johannes Berg
0 siblings, 1 reply; 2+ messages in thread
From: Dmitry Tarnyagin @ 2011-10-12 1:02 UTC (permalink / raw)
To: linux-wireless.vger.kernel.org; +Cc: Bartosz MARKOWSKI, Janusz DZIEDZIC
From: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Date: Wed, 5 Oct 2011 13:20:04 +0200
A new .release_buffered_frames callback was introduced recently.
Check for the callback presence was missing in the mac80211 code,
and PM state could get broken in some cases.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
---
net/mac80211/sta_info.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 58b1c2b..ff30fe3 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -1262,7 +1262,9 @@ ieee80211_sta_ps_deliver_response(struct sta_info
*sta,
tids = ieee80211_tids_for_ac(ac);
if (!found) {
- driver_release_tids = sta->driver_buffered_tids & tids;
+ if (local->ops->release_buffered_frames)
+ driver_release_tids =
+ sta->driver_buffered_tids & tids;
if (driver_release_tids) {
found = true;
} else {
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [RFC 07/07] mac80211: Do not call release_buffered_frames if not available.
2011-10-12 1:02 [RFC 07/07] mac80211: Do not call release_buffered_frames if not available Dmitry Tarnyagin
@ 2011-10-12 8:32 ` Johannes Berg
0 siblings, 0 replies; 2+ messages in thread
From: Johannes Berg @ 2011-10-12 8:32 UTC (permalink / raw)
To: Dmitry Tarnyagin
Cc: linux-wireless.vger.kernel.org, Bartosz MARKOWSKI,
Janusz DZIEDZIC
On Wed, 2011-10-12 at 03:02 +0200, Dmitry Tarnyagin wrote:
> From: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
> Date: Wed, 5 Oct 2011 13:20:04 +0200
>
> A new .release_buffered_frames callback was introduced recently.
> Check for the callback presence was missing in the mac80211 code,
> and PM state could get broken in some cases.
Interesting, but we do check:
drv_release_buffered_frames(struct ieee80211_local *local,
struct sta_info *sta, u16 tids, int num_frames,
enum ieee80211_frame_release_type reason,
bool more_data)
{
trace_drv_release_buffered_frames(local, &sta->sta, tids, num_frames,
reason, more_data);
if (local->ops->release_buffered_frames)
local->ops->release_buffered_frames(&local->hw, &sta->sta, tids,
So whatever you're trying to do must be something else.
johannes
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-10-12 8:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-12 1:02 [RFC 07/07] mac80211: Do not call release_buffered_frames if not available Dmitry Tarnyagin
2011-10-12 8:32 ` Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).