aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2012-02-03 14:14:07 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-02-03 14:14:07 -0500
commit157ca9eae92bc5247f93bea4ecb50dfacc283a04 (patch)
tree2bf88c36d1a7513c3dbb2babd6feb64ed2ce558c /drivers/net
parent29830406415c227a54af429d7b300aabd4754237 (diff)
parent07ae2dfcf4f7143ce191c6436da1c33f179af0d6 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-tx.c14
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-pcie.c1
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c8
4 files changed, 16 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
index c664c2726553..63bbc60be28e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
@@ -91,6 +91,7 @@ static void iwlagn_tx_cmd_build_basic(struct iwl_priv *priv,
91 tx_cmd->tid_tspec = qc[0] & 0xf; 91 tx_cmd->tid_tspec = qc[0] & 0xf;
92 tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK; 92 tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK;
93 } else { 93 } else {
94 tx_cmd->tid_tspec = IWL_TID_NON_QOS;
94 if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) 95 if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ)
95 tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK; 96 tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK;
96 else 97 else
@@ -620,7 +621,7 @@ int iwlagn_tx_agg_oper(struct iwl_priv *priv, struct ieee80211_vif *vif,
620 sta_priv->lq_sta.lq.agg_params.agg_frame_cnt_limit = 621 sta_priv->lq_sta.lq.agg_params.agg_frame_cnt_limit =
621 sta_priv->max_agg_bufsize; 622 sta_priv->max_agg_bufsize;
622 623
623 IWL_INFO(priv, "Tx aggregation enabled on ra = %pM tid = %d\n", 624 IWL_DEBUG_HT(priv, "Tx aggregation enabled on ra = %pM tid = %d\n",
624 sta->addr, tid); 625 sta->addr, tid);
625 626
626 return iwl_send_lq_cmd(priv, ctx, 627 return iwl_send_lq_cmd(priv, ctx,
@@ -808,6 +809,8 @@ static void iwl_rx_reply_tx_agg(struct iwl_priv *priv,
808 u32 status = le16_to_cpu(tx_resp->status.status); 809 u32 status = le16_to_cpu(tx_resp->status.status);
809 int i; 810 int i;
810 811
812 WARN_ON(tid == IWL_TID_NON_QOS);
813
811 if (agg->wait_for_ba) 814 if (agg->wait_for_ba)
812 IWL_DEBUG_TX_REPLY(priv, 815 IWL_DEBUG_TX_REPLY(priv,
813 "got tx response w/o block-ack\n"); 816 "got tx response w/o block-ack\n");
@@ -1035,10 +1038,13 @@ int iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb,
1035 } 1038 }
1036 1039
1037 __skb_queue_head_init(&skbs); 1040 __skb_queue_head_init(&skbs);
1038 priv->tid_data[sta_id][tid].next_reclaimed = next_reclaimed;
1039 1041
1040 IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d", 1042 if (tid != IWL_TID_NON_QOS) {
1041 next_reclaimed); 1043 priv->tid_data[sta_id][tid].next_reclaimed =
1044 next_reclaimed;
1045 IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d",
1046 next_reclaimed);
1047 }
1042 1048
1043 /*we can free until ssn % q.n_bd not inclusive */ 1049 /*we can free until ssn % q.n_bd not inclusive */
1044 WARN_ON(iwl_trans_reclaim(trans(priv), sta_id, tid, txq_id, 1050 WARN_ON(iwl_trans_reclaim(trans(priv), sta_id, tid, txq_id,
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 265de39d394c..f822ac447c3b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -815,6 +815,7 @@ struct iwl_qosparam_cmd {
815 815
816#define IWL_INVALID_STATION 255 816#define IWL_INVALID_STATION 255
817#define IWL_MAX_TID_COUNT 8 817#define IWL_MAX_TID_COUNT 8
818#define IWL_TID_NON_QOS IWL_MAX_TID_COUNT
818 819
819#define STA_FLG_TX_RATE_MSK cpu_to_le32(1 << 2) 820#define STA_FLG_TX_RATE_MSK cpu_to_le32(1 << 2)
820#define STA_FLG_PWR_SAVE_MSK cpu_to_le32(1 << 8) 821#define STA_FLG_PWR_SAVE_MSK cpu_to_le32(1 << 8)
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
index 67d6e324e26f..324d06dfb690 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
@@ -1262,6 +1262,7 @@ static int iwl_trans_pcie_reclaim(struct iwl_trans *trans, int sta_id, int tid,
1262 txq->time_stamp = jiffies; 1262 txq->time_stamp = jiffies;
1263 1263
1264 if (unlikely(txq_id >= IWLAGN_FIRST_AMPDU_QUEUE && 1264 if (unlikely(txq_id >= IWLAGN_FIRST_AMPDU_QUEUE &&
1265 tid != IWL_TID_NON_QOS &&
1265 txq_id != trans_pcie->agg_txq[sta_id][tid])) { 1266 txq_id != trans_pcie->agg_txq[sta_id][tid])) {
1266 /* 1267 /*
1267 * FIXME: this is a uCode bug which need to be addressed, 1268 * FIXME: this is a uCode bug which need to be addressed,
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 22a1a8fc6e02..7bef66def10c 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -514,9 +514,9 @@ EXPORT_SYMBOL_GPL(rt2800_write_tx_data);
514 514
515static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2) 515static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2)
516{ 516{
517 int rssi0 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI0); 517 s8 rssi0 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI0);
518 int rssi1 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI1); 518 s8 rssi1 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI1);
519 int rssi2 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI2); 519 s8 rssi2 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI2);
520 u16 eeprom; 520 u16 eeprom;
521 u8 offset0; 521 u8 offset0;
522 u8 offset1; 522 u8 offset1;
@@ -552,7 +552,7 @@ static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2)
552 * which gives less energy... 552 * which gives less energy...
553 */ 553 */
554 rssi0 = max(rssi0, rssi1); 554 rssi0 = max(rssi0, rssi1);
555 return max(rssi0, rssi2); 555 return (int)max(rssi0, rssi2);
556} 556}
557 557
558void rt2800_process_rxwi(struct queue_entry *entry, 558void rt2800_process_rxwi(struct queue_entry *entry,