mwifiex: do not create AP and P2P interfaces upon driver loading
authorBing Zhao <bzhao@marvell.com>
Mon, 19 Aug 2013 23:10:21 +0000 (16:10 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Sep 2013 13:54:57 +0000 (06:54 -0700)
commit 1211c961170cedb21c30d5bb7e2033c8720b38db upstream.

Bug 60747 - 1286:2044 [Microsoft Surface Pro]
    Marvell 88W8797 wifi show 3 interface under network
https://bugzilla.kernel.org/show_bug.cgi?id=60747

This issue was also reported previously by OLPC and some folks from
the community.

There are 3 network interfaces with different types being created
when mwifiex driver is loaded:

1. mlan0 (infra. STA)
2. uap0 (AP)
3. p2p0 (P2P_CLIENT)

The Network Manager attempts to use all 3 interfaces above without
filtering the managed interface type. As the result, 3 identical
interfaces are displayed under network manager. If user happens to
click on an entry under which its interface is uap0 or p2p0, the
association will fail.

Work around it by removing the creation of AP and P2P interfaces
at driver loading time. These interfaces can be added with 'iw' or
other applications manually when they are needed.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/mwifiex/main.c

index 2eb88ea..c4a2e77 100644 (file)
@@ -363,20 +363,6 @@ static void mwifiex_fw_dpc(const struct firmware *firmware, void *context)
                dev_err(adapter->dev, "cannot create default STA interface\n");
                goto err_add_intf;
        }
-
-       /* Create AP interface by default */
-       if (!mwifiex_add_virtual_intf(adapter->wiphy, "uap%d",
-                                     NL80211_IFTYPE_AP, NULL, NULL)) {
-               dev_err(adapter->dev, "cannot create default AP interface\n");
-               goto err_add_intf;
-       }
-
-       /* Create P2P interface by default */
-       if (!mwifiex_add_virtual_intf(adapter->wiphy, "p2p%d",
-                                     NL80211_IFTYPE_P2P_CLIENT, NULL, NULL)) {
-               dev_err(adapter->dev, "cannot create default P2P interface\n");
-               goto err_add_intf;
-       }
        rtnl_unlock();
 
        mwifiex_drv_get_driver_version(adapter, fmt, sizeof(fmt) - 1);