Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
This commit is contained in:
commit
a124f3bed7
23 changed files with 123 additions and 122 deletions
|
@ -545,3 +545,26 @@ Why: udev fully replaces this special file system that only contains CAPI
|
|||
NCCI TTY device nodes. User space (pppdcapiplugin) works without
|
||||
noticing the difference.
|
||||
Who: Jan Kiszka <jan.kiszka@web.de>
|
||||
|
||||
----------------------------
|
||||
|
||||
What: iwlwifi 50XX module parameters
|
||||
When: 2.6.40
|
||||
Why: The "..50" modules parameters were used to configure 5000 series and
|
||||
up devices; different set of module parameters also available for 4965
|
||||
with same functionalities. Consolidate both set into single place
|
||||
in drivers/net/wireless/iwlwifi/iwl-agn.c
|
||||
|
||||
Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
||||
|
||||
----------------------------
|
||||
|
||||
What: iwl4965 alias support
|
||||
When: 2.6.40
|
||||
Why: Internal alias support has been present in module-init-tools for some
|
||||
time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed
|
||||
with no impact.
|
||||
|
||||
Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
||||
|
||||
----------------------------
|
||||
|
|
|
@ -71,10 +71,6 @@
|
|||
|
||||
#include "iwl-eeprom.h"
|
||||
|
||||
/* Time constants */
|
||||
#define SHORT_SLOT_TIME 9
|
||||
#define LONG_SLOT_TIME 20
|
||||
|
||||
/* RSSI to dBm */
|
||||
#define IWL39_RSSI_OFFSET 95
|
||||
|
||||
|
@ -230,7 +226,6 @@ struct iwl3945_eeprom {
|
|||
|
||||
/* 4 DATA + 1 CMD. There are 2 HCCA queues that are not used. */
|
||||
#define IWL39_NUM_QUEUES 5
|
||||
#define IWL_NUM_SCAN_RATES (2)
|
||||
|
||||
#define IWL_DEFAULT_TX_RETRY 15
|
||||
|
||||
|
|
|
@ -341,7 +341,7 @@ void iwl3945_rs_rate_init(struct iwl_priv *priv, struct ieee80211_sta *sta, u8 s
|
|||
struct ieee80211_supported_band *sband;
|
||||
int i;
|
||||
|
||||
IWL_DEBUG_INFO(priv, "enter \n");
|
||||
IWL_DEBUG_INFO(priv, "enter\n");
|
||||
if (sta_id == priv->hw_params.bcast_sta_id)
|
||||
goto out;
|
||||
|
||||
|
|
|
@ -486,7 +486,7 @@ static void _iwl3945_dbg_report_frame(struct iwl_priv *priv,
|
|||
* but you can hack it to show more, if you'd like to. */
|
||||
if (dataframe)
|
||||
IWL_DEBUG_RX(priv, "%s: mhd=0x%04x, dst=0x%02x, "
|
||||
"len=%u, rssi=%d, chnl=%d, rate=%d, \n",
|
||||
"len=%u, rssi=%d, chnl=%d, rate=%d,\n",
|
||||
title, le16_to_cpu(fc), header->addr1[5],
|
||||
length, rssi, channel, rate);
|
||||
else {
|
||||
|
@ -998,7 +998,7 @@ static void iwl3945_nic_config(struct iwl_priv *priv)
|
|||
IWL_DEBUG_INFO(priv, "HW Revision ID = 0x%X\n", rev_id);
|
||||
|
||||
if (rev_id & PCI_CFG_REV_ID_BIT_RTP)
|
||||
IWL_DEBUG_INFO(priv, "RTP type \n");
|
||||
IWL_DEBUG_INFO(priv, "RTP type\n");
|
||||
else if (rev_id & PCI_CFG_REV_ID_BIT_BASIC_SKU) {
|
||||
IWL_DEBUG_INFO(priv, "3945 RADIO-MB type\n");
|
||||
iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG,
|
||||
|
|
|
@ -81,26 +81,6 @@
|
|||
*/
|
||||
#define IWL49_FIRST_AMPDU_QUEUE 7
|
||||
|
||||
/* Time constants */
|
||||
#define SHORT_SLOT_TIME 9
|
||||
#define LONG_SLOT_TIME 20
|
||||
|
||||
/* RSSI to dBm */
|
||||
#define IWL49_RSSI_OFFSET 44
|
||||
|
||||
|
||||
/* PCI registers */
|
||||
#define PCI_CFG_RETRY_TIMEOUT 0x041
|
||||
|
||||
/* PCI register values */
|
||||
#define PCI_CFG_LINK_CTRL_VAL_L0S_EN 0x01
|
||||
#define PCI_CFG_LINK_CTRL_VAL_L1_EN 0x02
|
||||
|
||||
#define IWL_NUM_SCAN_RATES (2)
|
||||
|
||||
#define IWL_DEFAULT_TX_RETRY 15
|
||||
|
||||
|
||||
/* Sizes and addresses for instruction and data memory (SRAM) in
|
||||
* 4965's embedded processor. Driver access is via HBUS_TARG_MEM_* regs. */
|
||||
#define IWL49_RTC_INST_LOWER_BOUND (0x000000)
|
||||
|
@ -393,10 +373,6 @@ static inline int iwl4965_hw_valid_rtc_data_addr(u32 addr)
|
|||
* location(s) in command (struct iwl4965_txpowertable_cmd).
|
||||
*/
|
||||
|
||||
/* Limit range of txpower output target to be between these values */
|
||||
#define IWL_TX_POWER_TARGET_POWER_MIN (0) /* 0 dBm = 1 milliwatt */
|
||||
#define IWL_TX_POWER_TARGET_POWER_MAX (16) /* 16 dBm */
|
||||
|
||||
/**
|
||||
* When MIMO is used (2 transmitters operating simultaneously), driver should
|
||||
* limit each transmitter to deliver a max of 3 dB below the regulatory limit
|
||||
|
|
|
@ -61,14 +61,6 @@ static int iwl4965_hw_get_temperature(struct iwl_priv *priv);
|
|||
#define _IWL4965_MODULE_FIRMWARE(api) IWL4965_FW_PRE #api ".ucode"
|
||||
#define IWL4965_MODULE_FIRMWARE(api) _IWL4965_MODULE_FIRMWARE(api)
|
||||
|
||||
|
||||
/* module parameters */
|
||||
static struct iwl_mod_params iwl4965_mod_params = {
|
||||
.amsdu_size_8K = 1,
|
||||
.restart_fw = 1,
|
||||
/* the rest are 0 by default */
|
||||
};
|
||||
|
||||
/* check contents of special bootstrap uCode SRAM */
|
||||
static int iwl4965_verify_bsm(struct iwl_priv *priv)
|
||||
{
|
||||
|
@ -418,7 +410,7 @@ static void iwl4965_gain_computation(struct iwl_priv *priv,
|
|||
sizeof(cmd), &cmd);
|
||||
if (ret)
|
||||
IWL_DEBUG_CALIB(priv, "fail sending cmd "
|
||||
"REPLY_PHY_CALIBRATION_CMD \n");
|
||||
"REPLY_PHY_CALIBRATION_CMD\n");
|
||||
|
||||
/* TODO we might want recalculate
|
||||
* rx_chain in rxon cmd */
|
||||
|
@ -1620,19 +1612,19 @@ static int iwl4965_is_temp_calib_needed(struct iwl_priv *priv)
|
|||
|
||||
/* get absolute value */
|
||||
if (temp_diff < 0) {
|
||||
IWL_DEBUG_POWER(priv, "Getting cooler, delta %d, \n", temp_diff);
|
||||
IWL_DEBUG_POWER(priv, "Getting cooler, delta %d\n", temp_diff);
|
||||
temp_diff = -temp_diff;
|
||||
} else if (temp_diff == 0)
|
||||
IWL_DEBUG_POWER(priv, "Same temp, \n");
|
||||
IWL_DEBUG_POWER(priv, "Temperature unchanged\n");
|
||||
else
|
||||
IWL_DEBUG_POWER(priv, "Getting warmer, delta %d, \n", temp_diff);
|
||||
IWL_DEBUG_POWER(priv, "Getting warmer, delta %d\n", temp_diff);
|
||||
|
||||
if (temp_diff < IWL_TEMPERATURE_THRESHOLD) {
|
||||
IWL_DEBUG_POWER(priv, "Thermal txpower calib not needed\n");
|
||||
IWL_DEBUG_POWER(priv, " => thermal txpower calib not needed\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
IWL_DEBUG_POWER(priv, "Thermal txpower calib needed\n");
|
||||
IWL_DEBUG_POWER(priv, " => thermal txpower calib needed\n");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -2094,7 +2086,7 @@ static int iwl4965_calc_rssi(struct iwl_priv *priv,
|
|||
|
||||
/* dBm = max_rssi dB - agc dB - constant.
|
||||
* Higher AGC (higher radio gain) means lower signal. */
|
||||
return max_rssi - agc - IWL49_RSSI_OFFSET;
|
||||
return max_rssi - agc - IWLAGN_RSSI_OFFSET;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2245,7 +2237,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
|
|||
.ops = &iwl4965_ops,
|
||||
.num_of_queues = IWL49_NUM_QUEUES,
|
||||
.num_of_ampdu_queues = IWL49_NUM_AMPDU_QUEUES,
|
||||
.mod_params = &iwl4965_mod_params,
|
||||
.mod_params = &iwlagn_mod_params,
|
||||
.valid_tx_ant = ANT_AB,
|
||||
.valid_rx_ant = ANT_ABC,
|
||||
.pll_cfg_val = 0,
|
||||
|
@ -2265,22 +2257,3 @@ struct iwl_cfg iwl4965_agn_cfg = {
|
|||
/* Module firmware */
|
||||
MODULE_FIRMWARE(IWL4965_MODULE_FIRMWARE(IWL4965_UCODE_API_MAX));
|
||||
|
||||
module_param_named(antenna, iwl4965_mod_params.antenna, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(antenna, "select antenna (1=Main, 2=Aux, default 0 [both])");
|
||||
module_param_named(swcrypto, iwl4965_mod_params.sw_crypto, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(swcrypto, "using crypto in software (default 0 [hardware])");
|
||||
module_param_named(
|
||||
disable_hw_scan, iwl4965_mod_params.disable_hw_scan, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 0)");
|
||||
|
||||
module_param_named(queues_num, iwl4965_mod_params.num_of_queues, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(queues_num, "number of hw queues.");
|
||||
/* 11n */
|
||||
module_param_named(11n_disable, iwl4965_mod_params.disable_11n, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(11n_disable, "disable 11n functionality");
|
||||
module_param_named(amsdu_size_8K, iwl4965_mod_params.amsdu_size_8K,
|
||||
int, S_IRUGO);
|
||||
MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size");
|
||||
|
||||
module_param_named(fw_restart4965, iwl4965_mod_params.restart_fw, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(fw_restart4965, "restart firmware in case of error");
|
||||
|
|
|
@ -585,16 +585,3 @@ struct iwl_cfg iwl5150_abg_cfg = {
|
|||
|
||||
MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX));
|
||||
MODULE_FIRMWARE(IWL5150_MODULE_FIRMWARE(IWL5150_UCODE_API_MAX));
|
||||
|
||||
module_param_named(swcrypto50, iwlagn_mod_params.sw_crypto, bool, S_IRUGO);
|
||||
MODULE_PARM_DESC(swcrypto50,
|
||||
"using software crypto engine (default 0 [hardware])\n");
|
||||
module_param_named(queues_num50, iwlagn_mod_params.num_of_queues, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(queues_num50, "number of hw queues in 50xx series");
|
||||
module_param_named(11n_disable50, iwlagn_mod_params.disable_11n, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(11n_disable50, "disable 50XX 11n functionality");
|
||||
module_param_named(amsdu_size_8K50, iwlagn_mod_params.amsdu_size_8K,
|
||||
int, S_IRUGO);
|
||||
MODULE_PARM_DESC(amsdu_size_8K50, "enable 8K amsdu size in 50XX series");
|
||||
module_param_named(fw_restart50, iwlagn_mod_params.restart_fw, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(fw_restart50, "restart firmware in case of error");
|
||||
|
|
|
@ -254,7 +254,7 @@ static int iwlagn_calc_rssi(struct iwl_priv *priv,
|
|||
|
||||
/* dBm = max_rssi dB - agc dB - constant.
|
||||
* Higher AGC (higher radio gain) means lower signal. */
|
||||
return max_rssi - agc - IWL49_RSSI_OFFSET;
|
||||
return max_rssi - agc - IWLAGN_RSSI_OFFSET;
|
||||
}
|
||||
|
||||
struct iwl_hcmd_ops iwlagn_hcmd = {
|
||||
|
|
|
@ -78,6 +78,22 @@
|
|||
#define IWLAGN_RTC_DATA_SIZE (IWLAGN_RTC_DATA_UPPER_BOUND - \
|
||||
IWLAGN_RTC_DATA_LOWER_BOUND)
|
||||
|
||||
/* RSSI to dBm */
|
||||
#define IWLAGN_RSSI_OFFSET 44
|
||||
|
||||
/* PCI registers */
|
||||
#define PCI_CFG_RETRY_TIMEOUT 0x041
|
||||
|
||||
/* PCI register values */
|
||||
#define PCI_CFG_LINK_CTRL_VAL_L0S_EN 0x01
|
||||
#define PCI_CFG_LINK_CTRL_VAL_L1_EN 0x02
|
||||
|
||||
#define IWLAGN_DEFAULT_TX_RETRY 15
|
||||
|
||||
/* Limit range of txpower output target to be between these values */
|
||||
#define IWLAGN_TX_POWER_TARGET_POWER_MIN (0) /* 0 dBm: 1 milliwatt */
|
||||
#define IWLAGN_TX_POWER_TARGET_POWER_MAX (16) /* 16 dBm */
|
||||
|
||||
/* EEPROM */
|
||||
#define IWLAGN_EEPROM_IMG_SIZE 2048
|
||||
|
||||
|
|
|
@ -403,6 +403,9 @@ void iwlagn_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
|
|||
list_add_tail(&rxq->pool[i].list, &rxq->rx_used);
|
||||
}
|
||||
|
||||
for (i = 0; i < RX_QUEUE_SIZE; i++)
|
||||
rxq->queue[i] = NULL;
|
||||
|
||||
/* Set us so that we have processed and used all buffers, but have
|
||||
* not restocked the Rx queue with fresh buffers */
|
||||
rxq->read = rxq->write = 0;
|
||||
|
@ -538,11 +541,13 @@ void iwlagn_rx_queue_restock(struct iwl_priv *priv)
|
|||
struct list_head *element;
|
||||
struct iwl_rx_mem_buffer *rxb;
|
||||
unsigned long flags;
|
||||
int write;
|
||||
|
||||
spin_lock_irqsave(&rxq->lock, flags);
|
||||
write = rxq->write & ~0x7;
|
||||
while ((iwl_rx_queue_space(rxq) > 0) && (rxq->free_count)) {
|
||||
/* The overwritten rxb must be a used one */
|
||||
rxb = rxq->queue[rxq->write];
|
||||
BUG_ON(rxb && rxb->page);
|
||||
|
||||
/* Get next free Rx buffer, remove from free list */
|
||||
element = rxq->rx_free.next;
|
||||
rxb = list_entry(element, struct iwl_rx_mem_buffer, list);
|
||||
|
@ -635,6 +640,7 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority)
|
|||
|
||||
spin_unlock_irqrestore(&rxq->lock, flags);
|
||||
|
||||
BUG_ON(rxb->page);
|
||||
rxb->page = page;
|
||||
/* Get physical address of the RB */
|
||||
rxb->page_dma = pci_map_page(priv->pci_dev, page, 0,
|
||||
|
@ -845,7 +851,7 @@ static void iwlagn_dbg_report_frame(struct iwl_priv *priv,
|
|||
* but you can hack it to show more, if you'd like to. */
|
||||
if (dataframe)
|
||||
IWL_DEBUG_RX(priv, "%s: mhd=0x%04x, dst=0x%02x, "
|
||||
"len=%u, rssi=%d, chnl=%d, rate=%u, \n",
|
||||
"len=%u, rssi=%d, chnl=%d, rate=%u,\n",
|
||||
title, le16_to_cpu(fc), header->addr1[5],
|
||||
length, rssi, channel, bitrate);
|
||||
else {
|
||||
|
|
|
@ -2009,7 +2009,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
|
|||
/* rates available for this association, and for modulation mode */
|
||||
rate_mask = rs_get_supported_rates(lq_sta, hdr, tbl->lq_type);
|
||||
|
||||
IWL_DEBUG_RATE(priv, "mask 0x%04X \n", rate_mask);
|
||||
IWL_DEBUG_RATE(priv, "mask 0x%04X\n", rate_mask);
|
||||
|
||||
/* mask with station rate restriction */
|
||||
if (is_legacy(tbl->lq_type)) {
|
||||
|
|
|
@ -404,7 +404,7 @@ static void iwlagn_tx_cmd_build_rate(struct iwl_priv *priv,
|
|||
if (ieee80211_is_probe_resp(fc))
|
||||
data_retry_limit = 3;
|
||||
else
|
||||
data_retry_limit = IWL_DEFAULT_TX_RETRY;
|
||||
data_retry_limit = IWLAGN_DEFAULT_TX_RETRY;
|
||||
tx_cmd->data_retry_limit = data_retry_limit;
|
||||
|
||||
/* Set retry limit on RTS packets */
|
||||
|
@ -723,9 +723,9 @@ int iwlagn_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
|
|||
tx_cmd->dram_lsb_ptr = cpu_to_le32(scratch_phys);
|
||||
tx_cmd->dram_msb_ptr = iwl_get_dma_hi_addr(scratch_phys);
|
||||
|
||||
IWL_DEBUG_TX(priv, "sequence nr = 0X%x \n",
|
||||
IWL_DEBUG_TX(priv, "sequence nr = 0X%x\n",
|
||||
le16_to_cpu(out_cmd->hdr.sequence));
|
||||
IWL_DEBUG_TX(priv, "tx_flags = 0X%x \n", le32_to_cpu(tx_cmd->tx_flags));
|
||||
IWL_DEBUG_TX(priv, "tx_flags = 0X%x\n", le32_to_cpu(tx_cmd->tx_flags));
|
||||
iwl_print_hex_dump(priv, IWL_DL_TX, (u8 *)tx_cmd, sizeof(*tx_cmd));
|
||||
iwl_print_hex_dump(priv, IWL_DL_TX, (u8 *)tx_cmd->hdr, hdr_len);
|
||||
|
||||
|
@ -1289,7 +1289,7 @@ void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
|
|||
(unsigned long long)le64_to_cpu(ba_resp->bitmap),
|
||||
ba_resp->scd_flow,
|
||||
ba_resp->scd_ssn);
|
||||
IWL_DEBUG_TX_REPLY(priv, "DAT start_idx = %d, bitmap = 0x%llx \n",
|
||||
IWL_DEBUG_TX_REPLY(priv, "DAT start_idx = %d, bitmap = 0x%llx\n",
|
||||
agg->start_idx,
|
||||
(unsigned long long)agg->bitmap);
|
||||
|
||||
|
|
|
@ -83,13 +83,6 @@ MODULE_AUTHOR(DRV_COPYRIGHT " " DRV_AUTHOR);
|
|||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("iwl4965");
|
||||
|
||||
/*************** STATION TABLE MANAGEMENT ****
|
||||
* mac80211 should be examined to determine if sta_info is duplicating
|
||||
* the functionality provided here
|
||||
*/
|
||||
|
||||
/**************************************************************/
|
||||
|
||||
/**
|
||||
* iwl_commit_rxon - commit staging_rxon to hardware
|
||||
*
|
||||
|
@ -188,7 +181,7 @@ int iwl_commit_rxon(struct iwl_priv *priv)
|
|||
IWL_ERR(priv, "Error setting new RXON (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
IWL_DEBUG_INFO(priv, "Return from !new_assoc RXON. \n");
|
||||
IWL_DEBUG_INFO(priv, "Return from !new_assoc RXON.\n");
|
||||
memcpy(active_rxon, &priv->staging_rxon, sizeof(*active_rxon));
|
||||
iwl_clear_ucode_stations(priv, false);
|
||||
iwl_restore_stations(priv);
|
||||
|
@ -2310,7 +2303,7 @@ static int iwl_prepare_card_hw(struct iwl_priv *priv)
|
|||
{
|
||||
int ret = 0;
|
||||
|
||||
IWL_DEBUG_INFO(priv, "iwl_prepare_card_hw enter \n");
|
||||
IWL_DEBUG_INFO(priv, "iwl_prepare_card_hw enter\n");
|
||||
|
||||
ret = iwl_set_hw_ready(priv);
|
||||
if (priv->hw_ready)
|
||||
|
@ -3074,7 +3067,7 @@ static int iwlagn_mac_sta_add(struct ieee80211_hw *hw,
|
|||
iwl_restore_wepkeys(priv);
|
||||
|
||||
/* Initialize rate scaling */
|
||||
IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM \n",
|
||||
IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM\n",
|
||||
sta->addr);
|
||||
iwl_rs_rate_init(priv, sta, sta_id);
|
||||
|
||||
|
@ -3375,7 +3368,7 @@ static int iwl_init_drv(struct iwl_priv *priv)
|
|||
/* Set the tx_power_user_lmt to the lowest power level
|
||||
* this value will get overwritten by channel max power avg
|
||||
* from eeprom */
|
||||
priv->tx_power_user_lmt = IWL_TX_POWER_TARGET_POWER_MIN;
|
||||
priv->tx_power_user_lmt = IWLAGN_TX_POWER_TARGET_POWER_MIN;
|
||||
|
||||
ret = iwl_init_channel_map(priv);
|
||||
if (ret) {
|
||||
|
@ -3921,3 +3914,33 @@ module_param_named(debug, iwl_debug_level, uint, S_IRUGO | S_IWUSR);
|
|||
MODULE_PARM_DESC(debug, "debug output mask");
|
||||
#endif
|
||||
|
||||
module_param_named(swcrypto50, iwlagn_mod_params.sw_crypto, bool, S_IRUGO);
|
||||
MODULE_PARM_DESC(swcrypto50,
|
||||
"using crypto in software (default 0 [hardware]) (deprecated)");
|
||||
module_param_named(swcrypto, iwlagn_mod_params.sw_crypto, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(swcrypto, "using crypto in software (default 0 [hardware])");
|
||||
module_param_named(queues_num50,
|
||||
iwlagn_mod_params.num_of_queues, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(queues_num50,
|
||||
"number of hw queues in 50xx series (deprecated)");
|
||||
module_param_named(queues_num, iwlagn_mod_params.num_of_queues, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(queues_num, "number of hw queues.");
|
||||
module_param_named(11n_disable50, iwlagn_mod_params.disable_11n, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(11n_disable50, "disable 50XX 11n functionality (deprecated)");
|
||||
module_param_named(11n_disable, iwlagn_mod_params.disable_11n, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(11n_disable, "disable 11n functionality");
|
||||
module_param_named(amsdu_size_8K50, iwlagn_mod_params.amsdu_size_8K,
|
||||
int, S_IRUGO);
|
||||
MODULE_PARM_DESC(amsdu_size_8K50,
|
||||
"enable 8K amsdu size in 50XX series (deprecated)");
|
||||
module_param_named(amsdu_size_8K, iwlagn_mod_params.amsdu_size_8K,
|
||||
int, S_IRUGO);
|
||||
MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size");
|
||||
module_param_named(fw_restart50, iwlagn_mod_params.restart_fw, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(fw_restart50,
|
||||
"restart firmware in case of error (deprecated)");
|
||||
module_param_named(fw_restart, iwlagn_mod_params.restart_fw, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(fw_restart, "restart firmware in case of error");
|
||||
module_param_named(
|
||||
disable_hw_scan, iwlagn_mod_params.disable_hw_scan, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 0)");
|
||||
|
|
|
@ -592,7 +592,7 @@ void iwl_sensitivity_calibration(struct iwl_priv *priv,
|
|||
IWL_DEBUG_CALIB(priv, "rx_enable_time = %u usecs\n", rx_enable_time);
|
||||
|
||||
if (!rx_enable_time) {
|
||||
IWL_DEBUG_CALIB(priv, "<< RX Enable Time == 0! \n");
|
||||
IWL_DEBUG_CALIB(priv, "<< RX Enable Time == 0!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1376,10 +1376,11 @@ int iwl_set_tx_power(struct iwl_priv *priv, s8 tx_power, bool force)
|
|||
int ret = 0;
|
||||
s8 prev_tx_power = priv->tx_power_user_lmt;
|
||||
|
||||
if (tx_power < IWL_TX_POWER_TARGET_POWER_MIN) {
|
||||
IWL_WARN(priv, "Requested user TXPOWER %d below lower limit %d.\n",
|
||||
if (tx_power < IWLAGN_TX_POWER_TARGET_POWER_MIN) {
|
||||
IWL_WARN(priv,
|
||||
"Requested user TXPOWER %d below lower limit %d.\n",
|
||||
tx_power,
|
||||
IWL_TX_POWER_TARGET_POWER_MIN);
|
||||
IWLAGN_TX_POWER_TARGET_POWER_MIN);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -1800,7 +1801,7 @@ static void iwl_ht_conf(struct iwl_priv *priv,
|
|||
struct iwl_ht_config *ht_conf = &priv->current_ht_config;
|
||||
struct ieee80211_sta *sta;
|
||||
|
||||
IWL_DEBUG_MAC80211(priv, "enter: \n");
|
||||
IWL_DEBUG_MAC80211(priv, "enter:\n");
|
||||
|
||||
if (!ht_conf->is_ht)
|
||||
return;
|
||||
|
@ -2365,7 +2366,7 @@ int iwl_alloc_txq_mem(struct iwl_priv *priv)
|
|||
sizeof(struct iwl_tx_queue) * priv->cfg->num_of_queues,
|
||||
GFP_KERNEL);
|
||||
if (!priv->txq) {
|
||||
IWL_ERR(priv, "Not enough memory for txq \n");
|
||||
IWL_ERR(priv, "Not enough memory for txq\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
return 0;
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#include "iwl-debug.h"
|
||||
#include "iwl-4965-hw.h"
|
||||
#include "iwl-3945-hw.h"
|
||||
#include "iwl-agn-hw.h"
|
||||
#include "iwl-led.h"
|
||||
#include "iwl-power.h"
|
||||
#include "iwl-agn-rs.h"
|
||||
|
|
|
@ -169,7 +169,7 @@ int iwl_send_cmd_sync(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
|
|||
mutex_lock(&priv->sync_cmd_mutex);
|
||||
|
||||
set_bit(STATUS_HCMD_ACTIVE, &priv->status);
|
||||
IWL_DEBUG_INFO(priv, "Setting HCMD_ACTIVE for command %s \n",
|
||||
IWL_DEBUG_INFO(priv, "Setting HCMD_ACTIVE for command %s\n",
|
||||
get_cmd_string(cmd->id));
|
||||
|
||||
cmd_idx = iwl_enqueue_hcmd(priv, cmd);
|
||||
|
@ -191,7 +191,7 @@ int iwl_send_cmd_sync(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
|
|||
jiffies_to_msecs(HOST_COMPLETE_TIMEOUT));
|
||||
|
||||
clear_bit(STATUS_HCMD_ACTIVE, &priv->status);
|
||||
IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s \n",
|
||||
IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s\n",
|
||||
get_cmd_string(cmd->id));
|
||||
ret = -ETIMEDOUT;
|
||||
goto cancel;
|
||||
|
|
|
@ -297,7 +297,7 @@ static inline u32 __iwl_read_direct32(const char *f, u32 l,
|
|||
struct iwl_priv *priv, u32 reg)
|
||||
{
|
||||
u32 value = _iwl_read_direct32(priv, reg);
|
||||
IWL_DEBUG_IO(priv, "read_direct32(0x%4X) = 0x%08x - %s %d \n", reg, value,
|
||||
IWL_DEBUG_IO(priv, "read_direct32(0x%4X) = 0x%08x - %s %d\n", reg, value,
|
||||
f, l);
|
||||
return value;
|
||||
}
|
||||
|
|
|
@ -874,7 +874,7 @@ void iwl_tt_initialize(struct iwl_priv *priv)
|
|||
int size = sizeof(struct iwl_tt_trans) * (IWL_TI_STATE_MAX - 1);
|
||||
struct iwl_tt_trans *transaction;
|
||||
|
||||
IWL_DEBUG_POWER(priv, "Initialize Thermal Throttling \n");
|
||||
IWL_DEBUG_POWER(priv, "Initialize Thermal Throttling\n");
|
||||
|
||||
memset(tt, 0, sizeof(struct iwl_tt_mgmt));
|
||||
|
||||
|
|
|
@ -453,7 +453,7 @@ static int iwl_get_channels_for_scan(struct iwl_priv *priv,
|
|||
added++;
|
||||
}
|
||||
|
||||
IWL_DEBUG_SCAN(priv, "total channels to scan %d \n", added);
|
||||
IWL_DEBUG_SCAN(priv, "total channels to scan %d\n", added);
|
||||
return added;
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ u8 iwl_find_station(struct iwl_priv *priv, const u8 *addr)
|
|||
(!(priv->stations[ret].used & IWL_STA_UCODE_ACTIVE) ||
|
||||
((priv->stations[ret].used & IWL_STA_UCODE_ACTIVE) &&
|
||||
(priv->stations[ret].used & IWL_STA_UCODE_INPROGRESS)))) {
|
||||
IWL_ERR(priv, "Requested station info for sta %d before ready. \n",
|
||||
IWL_ERR(priv, "Requested station info for sta %d before ready.\n",
|
||||
ret);
|
||||
ret = IWL_INVALID_STATION;
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ static void iwl_process_add_sta_resp(struct iwl_priv *priv,
|
|||
sta_id);
|
||||
break;
|
||||
case ADD_STA_MODIFY_NON_EXIST_STA:
|
||||
IWL_ERR(priv, "Attempting to modify non-existing station %d \n",
|
||||
IWL_ERR(priv, "Attempting to modify non-existing station %d\n",
|
||||
sta_id);
|
||||
break;
|
||||
default:
|
||||
|
@ -571,7 +571,7 @@ static int iwl_remove_station(struct iwl_priv *priv, struct ieee80211_sta *sta)
|
|||
|
||||
if (!iwl_is_ready(priv)) {
|
||||
IWL_DEBUG_INFO(priv,
|
||||
"Unable to remove station %pM, device not ready. \n",
|
||||
"Unable to remove station %pM, device not ready.\n",
|
||||
sta->addr);
|
||||
/*
|
||||
* It is typical for stations to be removed when we are
|
||||
|
@ -668,7 +668,7 @@ void iwl_clear_ucode_stations(struct iwl_priv *priv, bool force)
|
|||
} else {
|
||||
for (i = 0; i < priv->hw_params.max_stations; i++) {
|
||||
if (priv->stations[i].used & IWL_STA_UCODE_ACTIVE) {
|
||||
IWL_DEBUG_INFO(priv, "Clearing ucode active for station %d \n", i);
|
||||
IWL_DEBUG_INFO(priv, "Clearing ucode active for station %d\n", i);
|
||||
priv->stations[i].used &= ~IWL_STA_UCODE_ACTIVE;
|
||||
cleared = true;
|
||||
}
|
||||
|
@ -1105,7 +1105,7 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv,
|
|||
priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
|
||||
|
||||
if (iwl_is_rfkill(priv)) {
|
||||
IWL_DEBUG_WEP(priv, "Not sending REPLY_ADD_STA command because RFKILL enabled. \n");
|
||||
IWL_DEBUG_WEP(priv, "Not sending REPLY_ADD_STA command because RFKILL enabled.\n");
|
||||
spin_unlock_irqrestore(&priv->sta_lock, flags);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1207,7 +1207,7 @@ int iwl_send_lq_cmd(struct iwl_priv *priv,
|
|||
return ret;
|
||||
|
||||
if (init) {
|
||||
IWL_DEBUG_INFO(priv, "init LQ command complete, clearing sta addition status for sta %d \n",
|
||||
IWL_DEBUG_INFO(priv, "init LQ command complete, clearing sta addition status for sta %d\n",
|
||||
lq->sta_id);
|
||||
spin_lock_irqsave(&priv->sta_lock, flags_spin);
|
||||
priv->stations[lq->sta_id].used &= ~IWL_STA_UCODE_INPROGRESS;
|
||||
|
|
|
@ -579,7 +579,7 @@ void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
|
|||
|
||||
if (!(meta->flags & CMD_ASYNC)) {
|
||||
clear_bit(STATUS_HCMD_ACTIVE, &priv->status);
|
||||
IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s \n",
|
||||
IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s\n",
|
||||
get_cmd_string(cmd->hdr.cmd));
|
||||
wake_up_interruptible(&priv->wait_command_queue);
|
||||
}
|
||||
|
|
|
@ -597,9 +597,9 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
|
|||
txq->need_update = 0;
|
||||
}
|
||||
|
||||
IWL_DEBUG_TX(priv, "sequence nr = 0X%x \n",
|
||||
IWL_DEBUG_TX(priv, "sequence nr = 0X%x\n",
|
||||
le16_to_cpu(out_cmd->hdr.sequence));
|
||||
IWL_DEBUG_TX(priv, "tx_flags = 0X%x \n", le32_to_cpu(tx_cmd->tx_flags));
|
||||
IWL_DEBUG_TX(priv, "tx_flags = 0X%x\n", le32_to_cpu(tx_cmd->tx_flags));
|
||||
iwl_print_hex_dump(priv, IWL_DL_TX, tx_cmd, sizeof(*tx_cmd));
|
||||
iwl_print_hex_dump(priv, IWL_DL_TX, (u8 *)tx_cmd->hdr,
|
||||
ieee80211_hdrlen(fc));
|
||||
|
@ -1937,7 +1937,7 @@ static int iwl3945_get_channels_for_scan(struct iwl_priv *priv,
|
|||
added++;
|
||||
}
|
||||
|
||||
IWL_DEBUG_SCAN(priv, "total channels to scan %d \n", added);
|
||||
IWL_DEBUG_SCAN(priv, "total channels to scan %d\n", added);
|
||||
return added;
|
||||
}
|
||||
|
||||
|
@ -3401,7 +3401,7 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw,
|
|||
}
|
||||
|
||||
/* Initialize rate scaling */
|
||||
IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM \n",
|
||||
IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM\n",
|
||||
sta->addr);
|
||||
iwl3945_rs_rate_init(priv, sta, sta_id);
|
||||
|
||||
|
|
Loading…
Reference in a new issue