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

Commit fad1dbc8 authored by John W. Linville's avatar John W. Linville
Browse files

Merge tag 'iwlwifi-for-john-2014-10-23' of...

Merge tag 'iwlwifi-for-john-2014-10-23' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes



Emmanuel Grumbach <egrumbach@gmail.com> says:

"I revert here a patch that caused interoperability issues.
dvm gets a fix for a bug that was reported by many users.
Two minor fixes for BT Coex and platform power fix that helps
reducing latency when the PCIe link goes to low power states."

Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parents 08054200 7f2ac8fb
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -1095,6 +1095,7 @@ static void iwlagn_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
			     u32 queues, bool drop)
{
	struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw);
	u32 scd_queues;

	mutex_lock(&priv->mutex);
	IWL_DEBUG_MAC80211(priv, "enter\n");
@@ -1108,18 +1109,19 @@ static void iwlagn_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
		goto done;
	}

	/*
	 * mac80211 will not push any more frames for transmit
	 * until the flush is completed
	 */
	if (drop) {
		IWL_DEBUG_MAC80211(priv, "send flush command\n");
		if (iwlagn_txfifo_flush(priv, 0)) {
	scd_queues = BIT(priv->cfg->base_params->num_of_queues) - 1;
	scd_queues &= ~(BIT(IWL_IPAN_CMD_QUEUE_NUM) |
			BIT(IWL_DEFAULT_CMD_QUEUE_NUM));

	if (vif)
		scd_queues &= ~BIT(vif->hw_queue[IEEE80211_AC_VO]);

	IWL_DEBUG_TX_QUEUES(priv, "Flushing SCD queues: 0x%x\n", scd_queues);
	if (iwlagn_txfifo_flush(priv, scd_queues)) {
		IWL_ERR(priv, "flush request fail\n");
		goto done;
	}
	}
	IWL_DEBUG_MAC80211(priv, "wait transmit/flush all frames\n");
	IWL_DEBUG_TX_QUEUES(priv, "wait transmit/flush all frames\n");
	iwl_trans_wait_tx_queue_empty(priv->trans, 0xffffffff);
done:
	mutex_unlock(&priv->mutex);
+2 −1
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@
#define IWL8000_TX_POWER_VERSION	0xffff /* meaningless */

#define IWL8000_FW_PRE "iwlwifi-8000"
#define IWL8000_MODULE_FIRMWARE(api) IWL8000_FW_PRE __stringify(api) ".ucode"
#define IWL8000_MODULE_FIRMWARE(api) \
	IWL8000_FW_PRE "-" __stringify(api) ".ucode"

#define NVM_HW_SECTION_NUM_FAMILY_8000		10
#define DEFAULT_NVM_FILE_FAMILY_8000		"iwl_nvm_8000.bin"
+2 −0
Original line number Diff line number Diff line
@@ -563,6 +563,7 @@ enum iwl_trans_state {
 *	Set during transport allocation.
 * @hw_id_str: a string with info about HW ID. Set during transport allocation.
 * @pm_support: set to true in start_hw if link pm is supported
 * @ltr_enabled: set to true if the LTR is enabled
 * @dev_cmd_pool: pool for Tx cmd allocation - for internal use only.
 *	The user should use iwl_trans_{alloc,free}_tx_cmd.
 * @dev_cmd_headroom: room needed for the transport's private use before the
@@ -589,6 +590,7 @@ struct iwl_trans {
	u8 rx_mpdu_cmd, rx_mpdu_cmd_hdr_size;

	bool pm_support;
	bool ltr_enabled;

	/* The following fields are internal only */
	struct kmem_cache *dev_cmd_pool;
+2 −2
Original line number Diff line number Diff line
@@ -303,8 +303,8 @@ static const __le64 iwl_ci_mask[][3] = {
};

static const __le32 iwl_bt_mprio_lut[BT_COEX_MULTI_PRIO_LUT_SIZE] = {
	cpu_to_le32(0x28412201),
	cpu_to_le32(0x11118451),
	cpu_to_le32(0x2e402280),
	cpu_to_le32(0x7711a751),
};

struct corunning_block_luts {
+2 −2
Original line number Diff line number Diff line
@@ -291,8 +291,8 @@ static const __le64 iwl_ci_mask[][3] = {
};

static const __le32 iwl_bt_mprio_lut[BT_COEX_MULTI_PRIO_LUT_SIZE] = {
	cpu_to_le32(0x28412201),
	cpu_to_le32(0x11118451),
	cpu_to_le32(0x2e402280),
	cpu_to_le32(0x7711a751),
};

struct corunning_block_luts {
Loading