2013-11-26 15:07:40

by Simon Wunderlich

[permalink] [raw]
Subject: [PATCH-mac80211] cfg80211: disable CSA for all drivers

The channel switch announcement code has some major locking problems
which can cause a deadlock in worst case. A series of fixes has been
proposed, but these are non-trivial and need to be tested first.
Therefore disable CSA completely for 3.13.

Signed-off-by: Simon Wunderlich <[email protected]>
---
This is based on mac80211.git and should go into 3.13 only
---
net/wireless/core.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/net/wireless/core.c b/net/wireless/core.c
index aff959e..507e71f 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -451,6 +451,12 @@ int wiphy_register(struct wiphy *wiphy)
int i;
u16 ifmodes = wiphy->interface_modes;

+ /*
+ * There are major locking problems in nl80211/mac80211 for CSA,
+ * disable for all drivers until this has been reworked.
+ */
+ wiphy->flags &= ~WIPHY_FLAG_HAS_CHANNEL_SWITCH;
+
#ifdef CONFIG_PM
if (WARN_ON(wiphy->wowlan &&
(wiphy->wowlan->flags & WIPHY_WOWLAN_GTK_REKEY_FAILURE) &&
--
1.7.10.4



2013-12-02 10:54:43

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH-mac80211] cfg80211: disable CSA for all drivers

On Tue, 2013-11-26 at 16:07 +0100, Simon Wunderlich wrote:
> The channel switch announcement code has some major locking problems
> which can cause a deadlock in worst case. A series of fixes has been
> proposed, but these are non-trivial and need to be tested first.
> Therefore disable CSA completely for 3.13.
>
> Signed-off-by: Simon Wunderlich <[email protected]>
> ---
> This is based on mac80211.git and should go into 3.13 only

It didn't apply cleanly so I guess you didn't base it on the latest
version, but I picked it up.

johannes