linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3.7] mac80211: fix remain-on-channel (non-)cancelling
@ 2012-11-23 23:32 Johannes Berg
  2012-11-23 23:45 ` Johannes Berg
  0 siblings, 1 reply; 2+ messages in thread
From: Johannes Berg @ 2012-11-23 23:32 UTC (permalink / raw)
  To: linux-wireless, linville; +Cc: Felix.Liao, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

Felix Liao reported that when an interface is set DOWN
while another interface is executing a ROC, the warning
in ieee80211_start_next_roc() (about the first item on
the list having started already) triggers.

This is because ieee80211_roc_purge() calls it even if
it never actually changed the list of ROC items. To fix
this, simply remove the function call. If it is needed
then it will be done by the ieee80211_sw_roc_work()
function when the ROC item that is being removed while
active is cleaned up.

Cc: stable@vger.kernel.org
Reported-by: Felix Liao <Felix.Liao@watchguard.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 net/mac80211/offchannel.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c
index 83608ac..2c84185 100644
--- a/net/mac80211/offchannel.c
+++ b/net/mac80211/offchannel.c
@@ -458,8 +458,6 @@ void ieee80211_roc_purge(struct ieee80211_sub_if_data *sdata)
 		list_move_tail(&roc->list, &tmp_list);
 		roc->abort = true;
 	}
-
-	ieee80211_start_next_roc(local);
 	mutex_unlock(&local->mtx);
 
 	list_for_each_entry_safe(roc, tmp, &tmp_list, list) {
-- 
1.8.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 3.7] mac80211: fix remain-on-channel (non-)cancelling
  2012-11-23 23:32 [PATCH 3.7] mac80211: fix remain-on-channel (non-)cancelling Johannes Berg
@ 2012-11-23 23:45 ` Johannes Berg
  0 siblings, 0 replies; 2+ messages in thread
From: Johannes Berg @ 2012-11-23 23:45 UTC (permalink / raw)
  To: linux-wireless; +Cc: linville, Felix.Liao

On Sat, 2012-11-24 at 00:32 +0100, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>
> 
> Felix Liao reported that when an interface is set DOWN
> while another interface is executing a ROC, the warning
> in ieee80211_start_next_roc() (about the first item on
> the list having started already) triggers.
> 
> This is because ieee80211_roc_purge() calls it even if
> it never actually changed the list of ROC items. To fix
> this, simply remove the function call. If it is needed
> then it will be done by the ieee80211_sw_roc_work()
> function when the ROC item that is being removed while
> active is cleaned up.

I should mention that the only effect of the patch is removing the
warning, other than that the code behaves the same before and after the
patch.

johannes


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-11-23 23:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-23 23:32 [PATCH 3.7] mac80211: fix remain-on-channel (non-)cancelling Johannes Berg
2012-11-23 23:45 ` 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).