Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dee60269 authored by John W. Linville's avatar John W. Linville
Browse files
parents 51f5f8ca 1382c71c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ static int iwl3945_hwrate_to_plcp_idx(u8 plcp)
{
	int idx;

	for (idx = 0; idx < IWL_RATE_COUNT; idx++)
	for (idx = 0; idx < IWL_RATE_COUNT_3945; idx++)
		if (iwl3945_rates[idx].plcp == plcp)
			return idx;
	return -1;
@@ -805,7 +805,7 @@ void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv,
				  int sta_id, int tx_id)
{
	u16 hw_value = ieee80211_get_tx_rate(priv->hw, info)->hw_value;
	u16 rate_index = min(hw_value & 0xffff, IWL_RATE_COUNT - 1);
	u16 rate_index = min(hw_value & 0xffff, IWL_RATE_COUNT_3945);
	u16 rate_mask;
	int rate;
	u8 rts_retry_limit;
@@ -2146,7 +2146,7 @@ static void iwl3945_hw_reg_init_channel_groups(struct iwl_priv *priv)

		/* fill in channel group's nominal powers for each rate */
		for (rate_index = 0;
		     rate_index < IWL_RATE_COUNT; rate_index++, clip_pwrs++) {
		     rate_index < IWL_RATE_COUNT_3945; rate_index++, clip_pwrs++) {
			switch (rate_index) {
			case IWL_RATE_36M_INDEX_TABLE:
				if (i == 0)	/* B/G */
+1 −1
Original line number Diff line number Diff line
@@ -2653,7 +2653,7 @@ static int iwl_mac_setup_register(struct iwl_priv *priv)
	 */
	hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;

	hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX + 1;
	hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX;
	/* we create the 802.11 header and a zero-length SSID element */
	hw->wiphy->max_scan_ie_len = IWL_MAX_PROBE_REQUEST - 24 - 2;

+16 −33
Original line number Diff line number Diff line
@@ -638,20 +638,9 @@ u16 iwl_fill_probe_req(struct iwl_priv *priv, struct ieee80211_mgmt *frame,
	if (left < 0)
		return 0;
	*pos++ = WLAN_EID_SSID;
	if (!priv->is_internal_short_scan &&
	    priv->scan_request->n_ssids) {
		struct cfg80211_ssid *ssid =
			priv->scan_request->ssids;

		/* Broadcast if ssid_len is 0 */
		*pos++ = ssid->ssid_len;
		memcpy(pos, ssid->ssid, ssid->ssid_len);
		pos += ssid->ssid_len;
		len += 2 + ssid->ssid_len;
	} else {
	*pos++ = 0;

	len += 2;
	}

	if (WARN_ON(left < ie_len))
		return len;
@@ -780,15 +769,10 @@ static void iwl_bg_request_scan(struct work_struct *data)
	if (priv->is_internal_short_scan) {
		IWL_DEBUG_SCAN(priv, "Start internal passive scan.\n");
	} else if (priv->scan_request->n_ssids) {
		IWL_DEBUG_SCAN(priv, "Kicking off active scan\n");
		/*
		 * The first SSID to scan is stuffed into the probe request
		 * template and the remaining ones are handled through the
		 * direct_scan array.
		 */
		if (priv->scan_request->n_ssids > 1) {
		int i, p = 0;
			for (i = 1; i < priv->scan_request->n_ssids; i++) {
		IWL_DEBUG_SCAN(priv, "Kicking off active scan\n");
		for (i = 0; i < priv->scan_request->n_ssids; i++) {
			/* always does wildcard anyway */
			if (!priv->scan_request->ssids[i].ssid_len)
				continue;
			scan->direct_scan[p].id = WLAN_EID_SSID;
@@ -800,7 +784,6 @@ static void iwl_bg_request_scan(struct work_struct *data)
			n_probes++;
			p++;
		}
		}
		is_active = true;
	} else
		IWL_DEBUG_SCAN(priv, "Start passive scan.\n");