--- /dev/null
+From 707aee401d2467baa785a697f40a6e2d9ee79ad5 Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Fri, 3 May 2013 18:58:16 +0200
+Subject: iwlwifi: dvm: don't send BT_CONFIG on devices w/o Bluetooth
+
+From: Johannes Berg <johannes.berg@intel.com>
+
+commit 707aee401d2467baa785a697f40a6e2d9ee79ad5 upstream.
+
+The BT_CONFIG command that is sent to the device during
+startup will enable BT coex unless the module parameter
+turns it off, but on devices without Bluetooth this may
+cause problems, as reported in Redhat BZ 885407.
+
+Fix this by sending the BT_CONFIG command only when the
+device has Bluetooth.
+
+Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/net/wireless/iwlwifi/dvm/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/iwlwifi/dvm/main.c
++++ b/drivers/net/wireless/iwlwifi/dvm/main.c
+@@ -758,7 +758,7 @@ int iwl_alive_start(struct iwl_priv *pri
+ BT_COEX_PRIO_TBL_EVT_INIT_CALIB2);
+ if (ret)
+ return ret;
+- } else {
++ } else if (priv->cfg->bt_params) {
+ /*
+ * default is 2-wire BT coexexistence support
+ */
--- /dev/null
+From bb963c4a43eb5127eb0bbfa16c7a6a209b0af5db Mon Sep 17 00:00:00 2001
+From: David Spinadel <david.spinadel@intel.com>
+Date: Tue, 23 Jul 2013 14:13:32 +0300
+Subject: iwlwifi: mvm: set SSID bits for passive channels
+
+From: David Spinadel <david.spinadel@intel.com>
+
+commit bb963c4a43eb5127eb0bbfa16c7a6a209b0af5db upstream.
+
+Set SSID bitmap for direct scan even on passive channels,
+for the passive-to-active feature. Without this patch only
+the SSID from probe request template is sent on passive
+channels, after passive-to-active switching, causing us to
+not find all desired networks.
+
+Remove the unused passive scan mask constant.
+
+Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: David Spinadel <david.spinadel@intel.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h | 1 -
+ drivers/net/wireless/iwlwifi/mvm/scan.c | 11 ++---------
+ 2 files changed, 2 insertions(+), 10 deletions(-)
+
+--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
++++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
+@@ -69,7 +69,6 @@
+ /* Scan Commands, Responses, Notifications */
+
+ /* Masks for iwl_scan_channel.type flags */
+-#define SCAN_CHANNEL_TYPE_PASSIVE 0
+ #define SCAN_CHANNEL_TYPE_ACTIVE BIT(0)
+ #define SCAN_CHANNEL_NARROW_BAND BIT(22)
+
+--- a/drivers/net/wireless/iwlwifi/mvm/scan.c
++++ b/drivers/net/wireless/iwlwifi/mvm/scan.c
+@@ -176,19 +176,12 @@ static void iwl_mvm_scan_fill_channels(s
+ struct iwl_scan_channel *chan = (struct iwl_scan_channel *)
+ (cmd->data + le16_to_cpu(cmd->tx_cmd.len));
+ int i;
+- __le32 chan_type_value;
+-
+- if (req->n_ssids > 0)
+- chan_type_value = cpu_to_le32(BIT(req->n_ssids + 1) - 1);
+- else
+- chan_type_value = SCAN_CHANNEL_TYPE_PASSIVE;
+
+ for (i = 0; i < cmd->channel_count; i++) {
+ chan->channel = cpu_to_le16(req->channels[i]->hw_value);
++ chan->type = cpu_to_le32(BIT(req->n_ssids) - 1);
+ if (req->channels[i]->flags & IEEE80211_CHAN_PASSIVE_SCAN)
+- chan->type = SCAN_CHANNEL_TYPE_PASSIVE;
+- else
+- chan->type = chan_type_value;
++ chan->type &= cpu_to_le32(~SCAN_CHANNEL_TYPE_ACTIVE);
+ chan->active_dwell = cpu_to_le16(active_dwell);
+ chan->passive_dwell = cpu_to_le16(passive_dwell);
+ chan->iteration_count = cpu_to_le16(1);