iwlwifi: P2P is not enabled by default
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 2 Dec 2011 15:33:57 +0000 (07:33 -0800)
committerWey-Yi Guy <wey-yi.w.guy@intel.com>
Thu, 8 Dec 2011 23:54:46 +0000 (15:54 -0800)
P2P still under development. it will not enabled by default, but user
always can enable it manually for testing.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
drivers/net/wireless/iwlwifi/Kconfig
drivers/net/wireless/iwlwifi/iwl-agn.c

index 82c8cca..ae08498 100644 (file)
@@ -111,3 +111,19 @@ config IWLWIFI_DEVICE_TESTMODE
          NL80211_TESTMODE. This provide the capabilities of enable user space
          validation applications to interacts with the device through the
          generic netlink message via NL80211_TESTMODE channel.
+
+config IWLWIFI_P2P
+       bool "iwlwifi experimental P2P support"
+       depends on IWLWIFI
+       help
+         This option enables experimental P2P support for some devices
+         based on microcode support. Since P2P support is still under
+         development, this option may even enable it for some devices
+         now that turn out to not support it in the future due to
+         microcode restrictions.
+
+         To determine if your microcode supports the experimental P2P
+         offered by this option, check if the driver advertises AP
+         support when it is loaded.
+
+         Say Y only if you want to experiment with P2P.
index 5021cc9..6dd1e10 100644 (file)
@@ -1036,6 +1036,9 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
                priv->inst_evtlog_size =
                        priv->cfg->base_params->max_event_log_size;
        priv->inst_errlog_ptr = pieces.inst_errlog_ptr;
+#ifndef CONFIG_IWLWIFI_P2P
+       ucode_capa.flags &= ~IWL_UCODE_TLV_FLAGS_PAN;
+#endif
 
        priv->new_scan_threshold_behaviour =
                !!(ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NEWSCAN);
@@ -1057,7 +1060,6 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
                priv->sta_key_max_num = STA_KEY_MAX_NUM;
                priv->shrd->cmd_queue = IWL_DEFAULT_CMD_QUEUE_NUM;
        }
-
        /*
         * figure out the offset of chain noise reset and gain commands
         * base on the size of standard phy calibration commands table size
@@ -1708,6 +1710,12 @@ static void iwl_debug_config(struct iwl_priv *priv)
                "enabled\n");
 #else
                "disabled\n");
+#endif
+       dev_printk(KERN_INFO, bus(priv)->dev, "CONFIG_IWLWIFI_P2P "
+#ifdef CONFIG_IWLWIFI_P2P
+               "enabled\n");
+#else
+               "disabled\n");
 #endif
 }