Search Linux Wireless

[PATCH 3.5] mac80211: flush off-channel work when interface goes down

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Johannes Berg <johannes.berg@xxxxxxxxx>

When any interface goes down, it could be the one that
we were doing off-channel with. Thus, we need to flush
the offchannel start/stop work so they can't run when
the interface has already been removed from the driver
or even been destroyed. It's OK to flush them even if
they were for another interface, that just means that
we potentially delay the interface down a little bit.

Cc: stable@xxxxxxxxxx [3.4]
Reported-by: Nirav Shah <nirav.j2.shah@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
---
 net/mac80211/iface.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/net/mac80211/iface.c	2012-05-30 15:08:51.000000000 +0200
+++ b/net/mac80211/iface.c	2012-05-30 15:09:24.000000000 +0200
@@ -637,6 +637,8 @@ static void ieee80211_do_stop(struct iee
 		ieee80211_configure_filter(local);
 		break;
 	default:
+		flush_work(&local->hw_roc_start);
+		flush_work(&local->hw_roc_done);
 		flush_work(&sdata->work);
 		/*
 		 * When we get here, the interface is marked down.


--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux