* [PATCH] mac80211: check interface is down before type change
@ 2009-11-01 18:25 Johannes Berg
0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2009-11-01 18:25 UTC (permalink / raw)
To: John Linville; +Cc: Arjan van de Ven, linux-wireless
For some strange reason the netif_running() check
ended up after the actual type change instead of
before, potentially causing all kinds of problems
if the interface is up while changing the type;
one of the problems manifests itself as a warning:
WARNING: at net/mac80211/iface.c:651 ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]()
Hardware name: Aspire one
Pid: 2596, comm: wpa_supplicant Tainted: G W 2.6.31-10-generic #32-Ubuntu
Call Trace:
[] warn_slowpath_common+0x6d/0xa0
[] warn_slowpath_null+0x15/0x20
[] ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]
[] ieee80211_if_change_type+0x4a/0xc0 [mac80211]
[] ieee80211_change_iface+0x61/0xa0 [mac80211]
[] cfg80211_wext_siwmode+0xc7/0x120 [cfg80211]
[] ioctl_standard_call+0x58/0xf0
(http://www.kerneloops.org/searchweek.php?search=ieee80211_teardown_sdata)
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: stable@kernel.org
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
net/mac80211/cfg.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- wireless-testing.orig/net/mac80211/cfg.c 2009-11-01 19:19:16.000000000 +0100
+++ wireless-testing/net/mac80211/cfg.c 2009-11-01 19:20:49.000000000 +0100
@@ -72,6 +72,9 @@ static int ieee80211_change_iface(struct
struct ieee80211_sub_if_data *sdata;
int ret;
+ if (netif_running(dev))
+ return -EBUSY;
+
if (!nl80211_type_check(type))
return -EINVAL;
@@ -81,9 +84,6 @@ static int ieee80211_change_iface(struct
if (ret)
return ret;
- if (netif_running(sdata->dev))
- return -EBUSY;
-
if (ieee80211_vif_is_mesh(&sdata->vif) && params->mesh_id_len)
ieee80211_sdata_set_mesh_id(sdata,
params->mesh_id_len,
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-11-01 18:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-01 18:25 [PATCH] mac80211: check interface is down before type change Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox