Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
This commit is contained in:
commit
157ca9eae9
|
@ -399,15 +399,18 @@ int bcma_bus_scan(struct bcma_bus *bus)
|
|||
core->bus = bus;
|
||||
|
||||
err = bcma_get_next_core(bus, &eromptr, NULL, core_num, core);
|
||||
if (err == -ENODEV) {
|
||||
core_num++;
|
||||
continue;
|
||||
} else if (err == -ENXIO)
|
||||
continue;
|
||||
else if (err == -ESPIPE)
|
||||
break;
|
||||
else if (err < 0)
|
||||
if (err < 0) {
|
||||
kfree(core);
|
||||
if (err == -ENODEV) {
|
||||
core_num++;
|
||||
continue;
|
||||
} else if (err == -ENXIO) {
|
||||
continue;
|
||||
} else if (err == -ESPIPE) {
|
||||
break;
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
core->core_index = core_num++;
|
||||
bus->nr_cores++;
|
||||
|
|
|
@ -91,6 +91,7 @@ static void iwlagn_tx_cmd_build_basic(struct iwl_priv *priv,
|
|||
tx_cmd->tid_tspec = qc[0] & 0xf;
|
||||
tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK;
|
||||
} else {
|
||||
tx_cmd->tid_tspec = IWL_TID_NON_QOS;
|
||||
if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ)
|
||||
tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK;
|
||||
else
|
||||
|
@ -620,7 +621,7 @@ int iwlagn_tx_agg_oper(struct iwl_priv *priv, struct ieee80211_vif *vif,
|
|||
sta_priv->lq_sta.lq.agg_params.agg_frame_cnt_limit =
|
||||
sta_priv->max_agg_bufsize;
|
||||
|
||||
IWL_INFO(priv, "Tx aggregation enabled on ra = %pM tid = %d\n",
|
||||
IWL_DEBUG_HT(priv, "Tx aggregation enabled on ra = %pM tid = %d\n",
|
||||
sta->addr, tid);
|
||||
|
||||
return iwl_send_lq_cmd(priv, ctx,
|
||||
|
@ -808,6 +809,8 @@ static void iwl_rx_reply_tx_agg(struct iwl_priv *priv,
|
|||
u32 status = le16_to_cpu(tx_resp->status.status);
|
||||
int i;
|
||||
|
||||
WARN_ON(tid == IWL_TID_NON_QOS);
|
||||
|
||||
if (agg->wait_for_ba)
|
||||
IWL_DEBUG_TX_REPLY(priv,
|
||||
"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,
|
|||
}
|
||||
|
||||
__skb_queue_head_init(&skbs);
|
||||
priv->tid_data[sta_id][tid].next_reclaimed = next_reclaimed;
|
||||
|
||||
IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d",
|
||||
next_reclaimed);
|
||||
if (tid != IWL_TID_NON_QOS) {
|
||||
priv->tid_data[sta_id][tid].next_reclaimed =
|
||||
next_reclaimed;
|
||||
IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d",
|
||||
next_reclaimed);
|
||||
}
|
||||
|
||||
/*we can free until ssn % q.n_bd not inclusive */
|
||||
WARN_ON(iwl_trans_reclaim(trans(priv), sta_id, tid, txq_id,
|
||||
|
|
|
@ -815,6 +815,7 @@ struct iwl_qosparam_cmd {
|
|||
|
||||
#define IWL_INVALID_STATION 255
|
||||
#define IWL_MAX_TID_COUNT 8
|
||||
#define IWL_TID_NON_QOS IWL_MAX_TID_COUNT
|
||||
|
||||
#define STA_FLG_TX_RATE_MSK cpu_to_le32(1 << 2)
|
||||
#define STA_FLG_PWR_SAVE_MSK cpu_to_le32(1 << 8)
|
||||
|
|
|
@ -1262,6 +1262,7 @@ static int iwl_trans_pcie_reclaim(struct iwl_trans *trans, int sta_id, int tid,
|
|||
txq->time_stamp = jiffies;
|
||||
|
||||
if (unlikely(txq_id >= IWLAGN_FIRST_AMPDU_QUEUE &&
|
||||
tid != IWL_TID_NON_QOS &&
|
||||
txq_id != trans_pcie->agg_txq[sta_id][tid])) {
|
||||
/*
|
||||
* FIXME: this is a uCode bug which need to be addressed,
|
||||
|
|
|
@ -514,9 +514,9 @@ EXPORT_SYMBOL_GPL(rt2800_write_tx_data);
|
|||
|
||||
static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2)
|
||||
{
|
||||
int rssi0 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI0);
|
||||
int rssi1 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI1);
|
||||
int rssi2 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI2);
|
||||
s8 rssi0 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI0);
|
||||
s8 rssi1 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI1);
|
||||
s8 rssi2 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI2);
|
||||
u16 eeprom;
|
||||
u8 offset0;
|
||||
u8 offset1;
|
||||
|
@ -552,7 +552,7 @@ static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2)
|
|||
* which gives less energy...
|
||||
*/
|
||||
rssi0 = max(rssi0, rssi1);
|
||||
return max(rssi0, rssi2);
|
||||
return (int)max(rssi0, rssi2);
|
||||
}
|
||||
|
||||
void rt2800_process_rxwi(struct queue_entry *entry,
|
||||
|
|
|
@ -75,7 +75,7 @@ static u32 get_cfgspace_addr(struct ssb_pcicore *pc,
|
|||
u32 tmp;
|
||||
|
||||
/* We do only have one cardbus device behind the bridge. */
|
||||
if (pc->cardbusmode && (dev >= 1))
|
||||
if (pc->cardbusmode && (dev > 1))
|
||||
goto out;
|
||||
|
||||
if (bus == 0) {
|
||||
|
|
|
@ -611,7 +611,7 @@ static void ieee80211_sta_reorder_release(struct ieee80211_hw *hw,
|
|||
index = seq_sub(tid_agg_rx->head_seq_num, tid_agg_rx->ssn) %
|
||||
tid_agg_rx->buf_size;
|
||||
if (!tid_agg_rx->reorder_buf[index] &&
|
||||
tid_agg_rx->stored_mpdu_num > 1) {
|
||||
tid_agg_rx->stored_mpdu_num) {
|
||||
/*
|
||||
* No buffers ready to be released, but check whether any
|
||||
* frames in the reorder buffer have timed out.
|
||||
|
|
Loading…
Reference in New Issue