2012-06-08 08:56:03

by Michal Kazior

[permalink] [raw]
Subject: [PATCH] cfg80211: check iface combinations only when iface is running

Don't validate interface combinations on a stopped
interface. Otherwise we might end up being able to
create a new interface with a certain type, but
won't be able to change an existing interface
into that type.

This also skips some other functions when
interface is stopped and changing interface type.

Signed-off-by: Michal Kazior <[email protected]>
---
net/wireless/util.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index 147f283..eb7ca3c 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -805,7 +805,7 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev,
ntype == NL80211_IFTYPE_P2P_CLIENT))
return -EBUSY;

- if (ntype != otype) {
+ if (ntype != otype && netif_running(dev)) {
err = cfg80211_can_change_interface(rdev, dev->ieee80211_ptr,
ntype);
if (err)
--
1.7.0.4



2012-06-09 08:33:39

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] cfg80211: check iface combinations only when iface is running

On Fri, 2012-06-08 at 10:55 +0200, Michal Kazior wrote:
> Don't validate interface combinations on a stopped
> interface. Otherwise we might end up being able to
> create a new interface with a certain type, but
> won't be able to change an existing interface
> into that type.
>
> This also skips some other functions when
> interface is stopped and changing interface type.

Applied for 3.5

johannes