Commit 031cf0e9 authored by John W. Linville's avatar John W. Linville
Browse files
parents 730dd705 ad580db5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1961,7 +1961,7 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv,
	struct ieee80211_tx_info *info;
	struct iwl4965_tx_resp *tx_resp = (void *)&pkt->u.raw[0];
	u32  status = le32_to_cpu(tx_resp->u.status);
	int tid = MAX_TID_COUNT - 1;
	int uninitialized_var(tid);
	int sta_id;
	int freed;
	u8 *qc = NULL;
+5 −0
Original line number Diff line number Diff line
@@ -1600,6 +1600,7 @@ struct iwl_cfg iwl5300_agn_cfg = {
	.use_bsm = false,
	.ht_greenfield_support = true,
	.led_compensation = 51,
	.use_rts_for_ht = true, /* use rts/cts protection */
	.chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
};

@@ -1623,6 +1624,7 @@ struct iwl_cfg iwl5100_bgn_cfg = {
	.use_bsm = false,
	.ht_greenfield_support = true,
	.led_compensation = 51,
	.use_rts_for_ht = true, /* use rts/cts protection */
	.chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
};

@@ -1668,6 +1670,7 @@ struct iwl_cfg iwl5100_agn_cfg = {
	.use_bsm = false,
	.ht_greenfield_support = true,
	.led_compensation = 51,
	.use_rts_for_ht = true, /* use rts/cts protection */
	.chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
};

@@ -1691,6 +1694,7 @@ struct iwl_cfg iwl5350_agn_cfg = {
	.use_bsm = false,
	.ht_greenfield_support = true,
	.led_compensation = 51,
	.use_rts_for_ht = true, /* use rts/cts protection */
	.chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
};

@@ -1714,6 +1718,7 @@ struct iwl_cfg iwl5150_agn_cfg = {
	.use_bsm = false,
	.ht_greenfield_support = true,
	.led_compensation = 51,
	.use_rts_for_ht = true, /* use rts/cts protection */
	.chain_noise_num_beacons = IWL_CAL_NUM_BEACONS,
};

+25 −20
Original line number Diff line number Diff line
@@ -2334,6 +2334,21 @@ static void iwl_ht_conf(struct iwl_priv *priv,
	IWL_DEBUG_MAC80211(priv, "leave\n");
}

static inline void iwl_set_no_assoc(struct iwl_priv *priv)
{
	priv->assoc_id = 0;
	iwl_led_disassociate(priv);
	/*
	 * inform the ucode that there is no longer an
	 * association and that no more packets should be
	 * sent
	 */
	priv->staging_rxon.filter_flags &=
		~RXON_FILTER_ASSOC_MSK;
	priv->staging_rxon.assoc_id = 0;
	iwlcore_commit_rxon(priv);
}

#define IWL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6)
void iwl_bss_info_changed(struct ieee80211_hw *hw,
			  struct ieee80211_vif *vif,
@@ -2465,20 +2480,8 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
					IWL_DELAY_NEXT_SCAN_AFTER_ASSOC;
			if (!iwl_is_rfkill(priv))
				priv->cfg->ops->lib->post_associate(priv);
		} else {
			priv->assoc_id = 0;
			iwl_led_disassociate(priv);

			/*
			 * inform the ucode that there is no longer an
			 * association and that no more packets should be
			 * send
			 */
			priv->staging_rxon.filter_flags &=
				~RXON_FILTER_ASSOC_MSK;
			priv->staging_rxon.assoc_id = 0;
			iwlcore_commit_rxon(priv);
		}
		} else
			iwl_set_no_assoc(priv);
	}

	if (changes && iwl_is_associated(priv) && priv->assoc_id) {
@@ -2493,12 +2496,14 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
		}
	}

	if ((changes & BSS_CHANGED_BEACON_ENABLED) &&
	    vif->bss_conf.enable_beacon) {
	if (changes & BSS_CHANGED_BEACON_ENABLED) {
		if (vif->bss_conf.enable_beacon) {
			memcpy(priv->staging_rxon.bssid_addr,
			       bss_conf->bssid, ETH_ALEN);
			memcpy(priv->bssid, bss_conf->bssid, ETH_ALEN);
			iwlcore_config_ap(priv);
		} else
			iwl_set_no_assoc(priv);
	}

	mutex_unlock(&priv->mutex);
+1 −1
Original line number Diff line number Diff line
@@ -712,7 +712,7 @@ extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
extern int iwl_queue_space(const struct iwl_queue *q);
static inline int iwl_queue_used(const struct iwl_queue *q, int i)
{
	return q->write_ptr > q->read_ptr ?
	return q->write_ptr >= q->read_ptr ?
		(i >= q->read_ptr && i < q->write_ptr) :
		!(i < q->read_ptr && i >= q->write_ptr);
}
+26 −0
Original line number Diff line number Diff line
/******************************************************************************
 *
 * Copyright(c) 2009 - 2010 Intel Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
 *
 * The full GNU General Public License is included in this distribution in the
 * file called LICENSE.
 *
 * Contact Information:
 *  Intel Linux Wireless <ilw@linux.intel.com>
 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 *
 *****************************************************************************/

#include <linux/module.h>

/* sparse doesn't like tracepoint macros */
Loading