Browse Source

iwlwifi: fix PAN parameters while scanning

When only the PAN side was active, we gave no
time to the WLAN context, which is OK unless
we are scanning, which always happens on the
WLAN context. Fix this.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Johannes Berg 15 năm trước cách đây
mục cha
commit
27eafdda77

+ 5 - 0
drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c

@@ -331,6 +331,11 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
 		slot1 = max_t(int, 1, ctx_pan->vif->bss_conf.dtim_period) *
 		slot1 = max_t(int, 1, ctx_pan->vif->bss_conf.dtim_period) *
 					ctx_pan->vif->bss_conf.beacon_int;
 					ctx_pan->vif->bss_conf.beacon_int;
 		slot1 = max_t(int, 100, slot1);
 		slot1 = max_t(int, 100, slot1);
+
+		if (test_bit(STATUS_SCAN_HW, &priv->status)) {
+			slot0 = slot1 * 3 - 20;
+			slot1 = 20;
+		}
 	}
 	}
 
 
 	cmd.slots[0].width = cpu_to_le16(slot0);
 	cmd.slots[0].width = cpu_to_le16(slot0);