]> Git Repo - linux.git/commitdiff
mac80211: fix remain-on-channel (non-)cancelling
authorJohannes Berg <[email protected]>
Fri, 23 Nov 2012 23:32:19 +0000 (00:32 +0100)
committerJohn W. Linville <[email protected]>
Mon, 26 Nov 2012 19:41:40 +0000 (14:41 -0500)
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: [email protected]
Reported-by: Felix Liao <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
net/mac80211/offchannel.c

index 83608ac167801f1c06fc55dd3ab53370d947cbc7..2c84185dfdb0c2e9901d86b0903463061ddaaecf 100644 (file)
@@ -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) {
This page took 0.061175 seconds and 4 git commands to generate.