+++ /dev/null
-From 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 Mon Sep 17 00:00:00 2001
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Fri, 24 May 2013 01:06:09 +0200
-Subject: mac80211: close AP_VLAN interfaces before unregistering all
-
-From: Johannes Berg <johannes.berg@intel.com>
-
-commit 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 upstream.
-
-Since Eric's commit efe117ab8 ("Speedup ieee80211_remove_interfaces")
-there's a bug in mac80211 when it unregisters with AP_VLAN interfaces
-up. If the AP_VLAN interface was registered after the AP it belongs
-to (which is the typical case) and then we get into this code path,
-unregister_netdevice_many() will crash because it isn't prepared to
-deal with interfaces being closed in the middle of it. Exactly this
-happens though, because we iterate the list, find the AP master this
-AP_VLAN belongs to and dev_close() the dependent VLANs. After this,
-unregister_netdevice_many() won't pick up the fact that the AP_VLAN
-is already down and will do it again, causing a crash.
-
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Cc: Eric Dumazet <eric.dumazet@gmail.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- net/mac80211/iface.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/net/mac80211/iface.c
-+++ b/net/mac80211/iface.c
-@@ -1380,6 +1380,15 @@ void ieee80211_recalc_idle(struct ieee80
- {
- u32 chg;
-
-+ /*
-+ * Close all AP_VLAN interfaces first, as otherwise they
-+ * might be closed while the AP interface they belong to
-+ * is closed, causing unregister_netdevice_many() to crash.
-+ */
-+ list_for_each_entry(sdata, &local->interfaces, list)
-+ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
-+ dev_close(sdata->dev);
-+
- mutex_lock(&local->iflist_mtx);
- chg = __ieee80211_recalc_idle(local);
- mutex_unlock(&local->iflist_mtx);
rt2x00-read-5ghz-tx-power-values-from-the-correct-offset.patch
scsi-zfcp-fix-adapter-re-open-recovery-while-link-to-san-is-down.patch
scsi-mpt2sas-fix-firmware-failure-with-wrong-task-attribute.patch
-mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch
+++ /dev/null
-From 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 Mon Sep 17 00:00:00 2001
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Fri, 24 May 2013 01:06:09 +0200
-Subject: mac80211: close AP_VLAN interfaces before unregistering all
-
-From: Johannes Berg <johannes.berg@intel.com>
-
-commit 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 upstream.
-
-Since Eric's commit efe117ab8 ("Speedup ieee80211_remove_interfaces")
-there's a bug in mac80211 when it unregisters with AP_VLAN interfaces
-up. If the AP_VLAN interface was registered after the AP it belongs
-to (which is the typical case) and then we get into this code path,
-unregister_netdevice_many() will crash because it isn't prepared to
-deal with interfaces being closed in the middle of it. Exactly this
-happens though, because we iterate the list, find the AP master this
-AP_VLAN belongs to and dev_close() the dependent VLANs. After this,
-unregister_netdevice_many() won't pick up the fact that the AP_VLAN
-is already down and will do it again, causing a crash.
-
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Cc: Eric Dumazet <eric.dumazet@gmail.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- net/mac80211/iface.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/net/mac80211/iface.c
-+++ b/net/mac80211/iface.c
-@@ -1405,6 +1405,15 @@ void ieee80211_recalc_idle(struct ieee80
- {
- u32 chg;
-
-+ /*
-+ * Close all AP_VLAN interfaces first, as otherwise they
-+ * might be closed while the AP interface they belong to
-+ * is closed, causing unregister_netdevice_many() to crash.
-+ */
-+ list_for_each_entry(sdata, &local->interfaces, list)
-+ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
-+ dev_close(sdata->dev);
-+
- mutex_lock(&local->iflist_mtx);
- chg = __ieee80211_recalc_idle(local);
- mutex_unlock(&local->iflist_mtx);
scsi-zfcp-fix-adapter-re-open-recovery-while-link-to-san-is-down.patch
scsi-mpt2sas-fix-firmware-failure-with-wrong-task-attribute.patch
sunrpc-pipefs-mount-notification-optimization-for-dying-clients.patch
-mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch