ath9k: deny new interface addtion on IBSS mode
authorRajkumar Manoharan <rmanoharan@atheros.com>
Mon, 4 Apr 2011 17:26:16 +0000 (22:56 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 7 Apr 2011 19:34:15 +0000 (15:34 -0400)
The present check denies the IBSS interface addtion if we
already have any other vifs. But it fails to deny interface
addition if IBSS was already present.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 3c5de73..88073f4 100644 (file)
@@ -1479,8 +1479,9 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
                }
        }
 
-       if ((vif->type == NL80211_IFTYPE_ADHOC) &&
-           sc->nvifs > 0) {
+       if ((ah->opmode == NL80211_IFTYPE_ADHOC) ||
+           ((vif->type == NL80211_IFTYPE_ADHOC) &&
+            sc->nvifs > 0)) {
                ath_err(common, "Cannot create ADHOC interface when other"
                        " interfaces already exist.\n");
                ret = -EINVAL;