提交 bf403db8 编写于 作者: E Ester Kummer 提交者: John W. Linville

iwlwifi: move per driverdebug_level to per device

This patch ports the debug_level to iwl_priv and changes
the format of the debug prints.
Signed-off-by: NEster Kummer <ester.kummer@intel.com>
Signed-off-by: NZhu Yi <yi.zhu@intel.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 2469bf2e
...@@ -662,7 +662,8 @@ static u16 rs_get_supported_rates(struct iwl4965_lq_sta *lq_sta, ...@@ -662,7 +662,8 @@ static u16 rs_get_supported_rates(struct iwl4965_lq_sta *lq_sta,
} }
} }
static u16 rs_get_adjacent_rate(u8 index, u16 rate_mask, int rate_type) static u16 rs_get_adjacent_rate(struct iwl_priv *priv, u8 index, u16 rate_mask,
int rate_type)
{ {
u8 high = IWL_RATE_INVALID; u8 high = IWL_RATE_INVALID;
u8 low = IWL_RATE_INVALID; u8 low = IWL_RATE_INVALID;
...@@ -763,7 +764,8 @@ static u32 rs_get_lower_rate(struct iwl4965_lq_sta *lq_sta, ...@@ -763,7 +764,8 @@ static u32 rs_get_lower_rate(struct iwl4965_lq_sta *lq_sta,
goto out; goto out;
} }
high_low = rs_get_adjacent_rate(scale_index, rate_mask, tbl->lq_type); high_low = rs_get_adjacent_rate(lq_sta->drv, scale_index, rate_mask,
tbl->lq_type);
low = high_low & 0xff; low = high_low & 0xff;
if (low == IWL_RATE_INVALID) if (low == IWL_RATE_INVALID)
...@@ -990,7 +992,7 @@ static void rs_tx_status(void *priv_rate, struct net_device *dev, ...@@ -990,7 +992,7 @@ static void rs_tx_status(void *priv_rate, struct net_device *dev,
* These control how long we stay using same modulation mode before * These control how long we stay using same modulation mode before
* searching for a new mode. * searching for a new mode.
*/ */
static void rs_set_stay_in_table(u8 is_legacy, static void rs_set_stay_in_table(struct iwl_priv *priv, u8 is_legacy,
struct iwl4965_lq_sta *lq_sta) struct iwl4965_lq_sta *lq_sta)
{ {
IWL_DEBUG_RATE("we are staying in the same table\n"); IWL_DEBUG_RATE("we are staying in the same table\n");
...@@ -1079,7 +1081,8 @@ static s32 rs_get_best_rate(struct iwl_priv *priv, ...@@ -1079,7 +1081,8 @@ static s32 rs_get_best_rate(struct iwl_priv *priv,
new_rate = high = low = start_hi = IWL_RATE_INVALID; new_rate = high = low = start_hi = IWL_RATE_INVALID;
for (; ;) { for (; ;) {
high_low = rs_get_adjacent_rate(rate, rate_mask, tbl->lq_type); high_low = rs_get_adjacent_rate(priv, rate, rate_mask,
tbl->lq_type);
low = high_low & 0xff; low = high_low & 0xff;
high = (high_low >> 8) & 0xff; high = (high_low >> 8) & 0xff;
...@@ -1565,7 +1568,9 @@ static void rs_stay_in_table(struct iwl4965_lq_sta *lq_sta) ...@@ -1565,7 +1568,9 @@ static void rs_stay_in_table(struct iwl4965_lq_sta *lq_sta)
int i; int i;
int active_tbl; int active_tbl;
int flush_interval_passed = 0; int flush_interval_passed = 0;
struct iwl_priv *priv;
priv = lq_sta->drv;
active_tbl = lq_sta->active_tbl; active_tbl = lq_sta->active_tbl;
tbl = &(lq_sta->lq_info[active_tbl]); tbl = &(lq_sta->lq_info[active_tbl]);
...@@ -1838,7 +1843,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, ...@@ -1838,7 +1843,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
/* (Else) not in search of better modulation mode, try for better /* (Else) not in search of better modulation mode, try for better
* starting rate, while staying in this mode. */ * starting rate, while staying in this mode. */
high_low = rs_get_adjacent_rate(index, rate_scale_index_msk, high_low = rs_get_adjacent_rate(priv, index, rate_scale_index_msk,
tbl->lq_type); tbl->lq_type);
low = high_low & 0xff; low = high_low & 0xff;
high = (high_low >> 8) & 0xff; high = (high_low >> 8) & 0xff;
...@@ -1998,7 +2003,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, ...@@ -1998,7 +2003,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
(lq_sta->action_counter >= 1)) { (lq_sta->action_counter >= 1)) {
lq_sta->action_counter = 0; lq_sta->action_counter = 0;
IWL_DEBUG_RATE("LQ: STAY in legacy table\n"); IWL_DEBUG_RATE("LQ: STAY in legacy table\n");
rs_set_stay_in_table(1, lq_sta); rs_set_stay_in_table(priv, 1, lq_sta);
} }
/* If we're in an HT mode, and all 3 mode switch actions /* If we're in an HT mode, and all 3 mode switch actions
...@@ -2015,7 +2020,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, ...@@ -2015,7 +2020,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
} }
#endif /*CONFIG_IWL4965_HT */ #endif /*CONFIG_IWL4965_HT */
lq_sta->action_counter = 0; lq_sta->action_counter = 0;
rs_set_stay_in_table(0, lq_sta); rs_set_stay_in_table(priv, 0, lq_sta);
} }
/* /*
...@@ -2169,11 +2174,13 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, ...@@ -2169,11 +2174,13 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev,
rcu_read_unlock(); rcu_read_unlock();
} }
static void *rs_alloc_sta(void *priv, gfp_t gfp) static void *rs_alloc_sta(void *priv_rate, gfp_t gfp)
{ {
struct iwl4965_lq_sta *lq_sta; struct iwl4965_lq_sta *lq_sta;
struct iwl_priv *priv;
int i, j; int i, j;
priv = (struct iwl_priv *)priv_rate;
IWL_DEBUG_RATE("create station rate scale window\n"); IWL_DEBUG_RATE("create station rate scale window\n");
lq_sta = kzalloc(sizeof(struct iwl4965_lq_sta), gfp); lq_sta = kzalloc(sizeof(struct iwl4965_lq_sta), gfp);
...@@ -2443,10 +2450,12 @@ static void rs_clear(void *priv_rate) ...@@ -2443,10 +2450,12 @@ static void rs_clear(void *priv_rate)
IWL_DEBUG_RATE("leave\n"); IWL_DEBUG_RATE("leave\n");
} }
static void rs_free_sta(void *priv, void *priv_sta) static void rs_free_sta(void *priv_rate, void *priv_sta)
{ {
struct iwl4965_lq_sta *lq_sta = priv_sta; struct iwl4965_lq_sta *lq_sta = priv_sta;
struct iwl_priv *priv;
priv = (struct iwl_priv *)priv_rate;
IWL_DEBUG_RATE("enter\n"); IWL_DEBUG_RATE("enter\n");
kfree(lq_sta); kfree(lq_sta);
IWL_DEBUG_RATE("leave\n"); IWL_DEBUG_RATE("leave\n");
...@@ -2462,6 +2471,9 @@ static int open_file_generic(struct inode *inode, struct file *file) ...@@ -2462,6 +2471,9 @@ static int open_file_generic(struct inode *inode, struct file *file)
static void rs_dbgfs_set_mcs(struct iwl4965_lq_sta *lq_sta, static void rs_dbgfs_set_mcs(struct iwl4965_lq_sta *lq_sta,
u32 *rate_n_flags, int index) u32 *rate_n_flags, int index)
{ {
struct iwl_priv *priv;
priv = lq_sta->drv;
if (lq_sta->dbg_fixed_rate) { if (lq_sta->dbg_fixed_rate) {
if (index < 12) { if (index < 12) {
*rate_n_flags = lq_sta->dbg_fixed_rate; *rate_n_flags = lq_sta->dbg_fixed_rate;
...@@ -2481,10 +2493,12 @@ static ssize_t rs_sta_dbgfs_scale_table_write(struct file *file, ...@@ -2481,10 +2493,12 @@ static ssize_t rs_sta_dbgfs_scale_table_write(struct file *file,
const char __user *user_buf, size_t count, loff_t *ppos) const char __user *user_buf, size_t count, loff_t *ppos)
{ {
struct iwl4965_lq_sta *lq_sta = file->private_data; struct iwl4965_lq_sta *lq_sta = file->private_data;
struct iwl_priv *priv;
char buf[64]; char buf[64];
int buf_size; int buf_size;
u32 parsed_rate; u32 parsed_rate;
priv = lq_sta->drv;
memset(buf, 0, sizeof(buf)); memset(buf, 0, sizeof(buf));
buf_size = min(count, sizeof(buf) - 1); buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size)) if (copy_from_user(buf, user_buf, buf_size))
......
...@@ -2743,7 +2743,7 @@ static int iwl4965_set_decrypted_flag(struct iwl_priv *priv, ...@@ -2743,7 +2743,7 @@ static int iwl4965_set_decrypted_flag(struct iwl_priv *priv,
return 0; return 0;
} }
static u32 iwl4965_translate_rx_status(u32 decrypt_in) static u32 iwl4965_translate_rx_status(struct iwl_priv *priv, u32 decrypt_in)
{ {
u32 decrypt_out = 0; u32 decrypt_out = 0;
...@@ -2855,7 +2855,7 @@ static void iwl4965_handle_data_packet(struct iwl_priv *priv, int is_data, ...@@ -2855,7 +2855,7 @@ static void iwl4965_handle_data_packet(struct iwl_priv *priv, int is_data,
if (!include_phy) { if (!include_phy) {
/* New status scheme, need to translate */ /* New status scheme, need to translate */
ampdu_status_legacy = ampdu_status; ampdu_status_legacy = ampdu_status;
ampdu_status = iwl4965_translate_rx_status(ampdu_status); ampdu_status = iwl4965_translate_rx_status(priv, ampdu_status);
} }
/* start from MAC */ /* start from MAC */
...@@ -2887,7 +2887,8 @@ static void iwl4965_handle_data_packet(struct iwl_priv *priv, int is_data, ...@@ -2887,7 +2887,8 @@ static void iwl4965_handle_data_packet(struct iwl_priv *priv, int is_data,
} }
/* Calc max signal level (dBm) among 3 possible receivers */ /* Calc max signal level (dBm) among 3 possible receivers */
static int iwl4965_calc_rssi(struct iwl4965_rx_phy_res *rx_resp) static int iwl4965_calc_rssi(struct iwl_priv *priv,
struct iwl4965_rx_phy_res *rx_resp)
{ {
/* data from PHY/DSP regarding signal strength, etc., /* data from PHY/DSP regarding signal strength, etc.,
* contents are always there, not configurable by host. */ * contents are always there, not configurable by host. */
...@@ -2991,7 +2992,7 @@ static void iwl4965_dbg_report_frame(struct iwl_priv *priv, ...@@ -2991,7 +2992,7 @@ static void iwl4965_dbg_report_frame(struct iwl_priv *priv,
struct iwl4965_rx_frame_end *rx_end = IWL_RX_END(pkt); struct iwl4965_rx_frame_end *rx_end = IWL_RX_END(pkt);
u8 *data = IWL_RX_DATA(pkt); u8 *data = IWL_RX_DATA(pkt);
if (likely(!(iwl_debug_level & IWL_DL_RX))) if (likely(!(priv->debug_level & IWL_DL_RX)))
return; return;
/* MAC header */ /* MAC header */
...@@ -3094,7 +3095,7 @@ static void iwl4965_dbg_report_frame(struct iwl_priv *priv, ...@@ -3094,7 +3095,7 @@ static void iwl4965_dbg_report_frame(struct iwl_priv *priv,
} }
} }
if (print_dump) if (print_dump)
iwl_print_hex_dump(IWL_DL_RX, data, length); iwl_print_hex_dump(priv, IWL_DL_RX, data, length);
} }
#else #else
static inline void iwl4965_dbg_report_frame(struct iwl_priv *priv, static inline void iwl4965_dbg_report_frame(struct iwl_priv *priv,
...@@ -3187,7 +3188,7 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv, ...@@ -3187,7 +3188,7 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
priv->ucode_beacon_time = le32_to_cpu(rx_start->beacon_time_stamp); priv->ucode_beacon_time = le32_to_cpu(rx_start->beacon_time_stamp);
/* Find max signal strength (dBm) among 3 antenna/receiver chains */ /* Find max signal strength (dBm) among 3 antenna/receiver chains */
rx_status.ssi = iwl4965_calc_rssi(rx_start); rx_status.ssi = iwl4965_calc_rssi(priv, rx_start);
/* Meaningful noise values are available only from beacon statistics, /* Meaningful noise values are available only from beacon statistics,
* which are gathered only when associated, and indicate noise * which are gathered only when associated, and indicate noise
......
...@@ -32,24 +32,15 @@ ...@@ -32,24 +32,15 @@
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
extern u32 iwl_debug_level; extern u32 iwl_debug_level;
#define IWL_DEBUG(level, fmt, args...) \ #define IWL_DEBUG(level, fmt, args...) \
do { if (iwl_debug_level & (level)) \ do { if (priv->debug_level & (level)) \
printk(KERN_ERR DRV_NAME": %c %s " fmt, \ dev_printk(KERN_ERR, &(priv->hw->wiphy->dev), "%c %s " fmt, \
in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0) in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
#define IWL_DEBUG_LIMIT(level, fmt, args...) \ #define IWL_DEBUG_LIMIT(level, fmt, args...) \
do { if ((iwl_debug_level & (level)) && net_ratelimit()) \ do { if ((priv->debug_level & (level)) && net_ratelimit()) \
printk(KERN_ERR DRV_NAME": %c %s " fmt, \ dev_printk(KERN_ERR, &(priv->hw->wiphy->dev), "%c %s " fmt, \
in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0) in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
static inline void iwl_print_hex_dump(int level, void *p, u32 len)
{
if (!(iwl_debug_level & level))
return;
print_hex_dump(KERN_DEBUG, "iwl data: ", DUMP_PREFIX_OFFSET, 16, 1,
p, len, 1);
}
#ifdef CONFIG_IWLWIFI_DEBUGFS #ifdef CONFIG_IWLWIFI_DEBUGFS
struct iwl_debugfs { struct iwl_debugfs {
const char *name; const char *name;
...@@ -77,9 +68,6 @@ static inline void IWL_DEBUG(int level, const char *fmt, ...) ...@@ -77,9 +68,6 @@ static inline void IWL_DEBUG(int level, const char *fmt, ...)
static inline void IWL_DEBUG_LIMIT(int level, const char *fmt, ...) static inline void IWL_DEBUG_LIMIT(int level, const char *fmt, ...)
{ {
} }
static inline void iwl_print_hex_dump(int level, void *p, u32 len)
{
}
#endif /* CONFIG_IWLWIFI_DEBUG */ #endif /* CONFIG_IWLWIFI_DEBUG */
......
...@@ -1194,6 +1194,7 @@ struct iwl_priv { ...@@ -1194,6 +1194,7 @@ struct iwl_priv {
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
/* debugging info */ /* debugging info */
u32 debug_level;
u32 framecnt_to_us; u32 framecnt_to_us;
atomic_t restrict_refcnt; atomic_t restrict_refcnt;
#ifdef CONFIG_IWLWIFI_DEBUGFS #ifdef CONFIG_IWLWIFI_DEBUGFS
...@@ -1246,6 +1247,23 @@ static inline int is_channel_ibss(const struct iwl_channel_info *ch) ...@@ -1246,6 +1247,23 @@ static inline int is_channel_ibss(const struct iwl_channel_info *ch)
return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0; return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0;
} }
#ifdef CONFIG_IWLWIFI_DEBUG
static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
void *p, u32 len)
{
if (!(priv->debug_level & level))
return;
print_hex_dump(KERN_DEBUG, "iwl data: ", DUMP_PREFIX_OFFSET, 16, 1,
p, len, 1);
}
#else
static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
void *p, u32 len)
{
}
#endif
extern const struct iwl_channel_info *iwl_get_channel_info( extern const struct iwl_channel_info *iwl_get_channel_info(
const struct iwl_priv *priv, enum ieee80211_band band, u16 channel); const struct iwl_priv *priv, enum ieee80211_band band, u16 channel);
......
...@@ -145,6 +145,7 @@ static const char *iwl4965_escape_essid(const char *essid, u8 essid_len) ...@@ -145,6 +145,7 @@ static const char *iwl4965_escape_essid(const char *essid, u8 essid_len)
return escaped; return escaped;
} }
/*************** DMA-QUEUE-GENERAL-FUNCTIONS ***** /*************** DMA-QUEUE-GENERAL-FUNCTIONS *****
* DMA services * DMA services
* *
...@@ -1914,7 +1915,7 @@ static int iwl4965_get_sta_id(struct iwl_priv *priv, ...@@ -1914,7 +1915,7 @@ static int iwl4965_get_sta_id(struct iwl_priv *priv,
IWL_DEBUG_DROP("Station %s not in station map. " IWL_DEBUG_DROP("Station %s not in station map. "
"Defaulting to broadcast...\n", "Defaulting to broadcast...\n",
print_mac(mac, hdr->addr1)); print_mac(mac, hdr->addr1));
iwl_print_hex_dump(IWL_DL_DROP, (u8 *) hdr, sizeof(*hdr)); iwl_print_hex_dump(priv, IWL_DL_DROP, (u8 *) hdr, sizeof(*hdr));
return priv->hw_params.bcast_sta_id; return priv->hw_params.bcast_sta_id;
default: default:
...@@ -2130,10 +2131,10 @@ static int iwl4965_tx_skb(struct iwl_priv *priv, ...@@ -2130,10 +2131,10 @@ static int iwl4965_tx_skb(struct iwl_priv *priv,
txq->need_update = 0; txq->need_update = 0;
} }
iwl_print_hex_dump(IWL_DL_TX, out_cmd->cmd.payload, iwl_print_hex_dump(priv, IWL_DL_TX, out_cmd->cmd.payload,
sizeof(out_cmd->cmd.tx)); sizeof(out_cmd->cmd.tx));
iwl_print_hex_dump(IWL_DL_TX, (u8 *)out_cmd->cmd.tx.hdr, iwl_print_hex_dump(priv, IWL_DL_TX, (u8 *)out_cmd->cmd.tx.hdr,
ieee80211_get_hdrlen(fc)); ieee80211_get_hdrlen(fc));
/* Set up entry for this TFD in Tx byte-count array */ /* Set up entry for this TFD in Tx byte-count array */
...@@ -2911,7 +2912,7 @@ static void iwl4965_rx_pm_debug_statistics_notif(struct iwl_priv *priv, ...@@ -2911,7 +2912,7 @@ static void iwl4965_rx_pm_debug_statistics_notif(struct iwl_priv *priv,
IWL_DEBUG_RADIO("Dumping %d bytes of unhandled " IWL_DEBUG_RADIO("Dumping %d bytes of unhandled "
"notification for %s:\n", "notification for %s:\n",
le32_to_cpu(pkt->len), get_cmd_string(pkt->hdr.cmd)); le32_to_cpu(pkt->len), get_cmd_string(pkt->hdr.cmd));
iwl_print_hex_dump(IWL_DL_RADIO, pkt->u.raw, le32_to_cpu(pkt->len)); iwl_print_hex_dump(priv, IWL_DL_RADIO, pkt->u.raw, le32_to_cpu(pkt->len));
} }
static void iwl4965_bg_beacon_update(struct work_struct *work) static void iwl4965_bg_beacon_update(struct work_struct *work)
...@@ -3484,12 +3485,13 @@ static int iwl4965_tx_queue_update_write_ptr(struct iwl_priv *priv, ...@@ -3484,12 +3485,13 @@ static int iwl4965_tx_queue_update_write_ptr(struct iwl_priv *priv,
} }
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
static void iwl4965_print_rx_config_cmd(struct iwl4965_rxon_cmd *rxon) static void iwl4965_print_rx_config_cmd(struct iwl_priv *priv)
{ {
struct iwl4965_rxon_cmd *rxon = &priv->staging_rxon;
DECLARE_MAC_BUF(mac); DECLARE_MAC_BUF(mac);
IWL_DEBUG_RADIO("RX CONFIG:\n"); IWL_DEBUG_RADIO("RX CONFIG:\n");
iwl_print_hex_dump(IWL_DL_RADIO, (u8 *) rxon, sizeof(*rxon)); iwl_print_hex_dump(priv, IWL_DL_RADIO, (u8 *) rxon, sizeof(*rxon));
IWL_DEBUG_RADIO("u16 channel: 0x%x\n", le16_to_cpu(rxon->channel)); IWL_DEBUG_RADIO("u16 channel: 0x%x\n", le16_to_cpu(rxon->channel));
IWL_DEBUG_RADIO("u32 flags: 0x%08X\n", le32_to_cpu(rxon->flags)); IWL_DEBUG_RADIO("u32 flags: 0x%08X\n", le32_to_cpu(rxon->flags));
IWL_DEBUG_RADIO("u32 filter_flags: 0x%08x\n", IWL_DEBUG_RADIO("u32 filter_flags: 0x%08x\n",
...@@ -3715,10 +3717,10 @@ static void iwl4965_irq_handle_error(struct iwl_priv *priv) ...@@ -3715,10 +3717,10 @@ static void iwl4965_irq_handle_error(struct iwl_priv *priv)
clear_bit(STATUS_HCMD_ACTIVE, &priv->status); clear_bit(STATUS_HCMD_ACTIVE, &priv->status);
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
if (iwl_debug_level & IWL_DL_FW_ERRORS) { if (priv->debug_level & IWL_DL_FW_ERRORS) {
iwl4965_dump_nic_error_log(priv); iwl4965_dump_nic_error_log(priv);
iwl4965_dump_nic_event_log(priv); iwl4965_dump_nic_event_log(priv);
iwl4965_print_rx_config_cmd(&priv->staging_rxon); iwl4965_print_rx_config_cmd(priv);
} }
#endif #endif
...@@ -3782,7 +3784,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv) ...@@ -3782,7 +3784,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv)
iwl_write32(priv, CSR_FH_INT_STATUS, inta_fh); iwl_write32(priv, CSR_FH_INT_STATUS, inta_fh);
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
if (iwl_debug_level & IWL_DL_ISR) { if (priv->debug_level & IWL_DL_ISR) {
/* just for debug */ /* just for debug */
inta_mask = iwl_read32(priv, CSR_INT_MASK); inta_mask = iwl_read32(priv, CSR_INT_MASK);
IWL_DEBUG_ISR("inta 0x%08x, enabled 0x%08x, fh 0x%08x\n", IWL_DEBUG_ISR("inta 0x%08x, enabled 0x%08x, fh 0x%08x\n",
...@@ -3816,7 +3818,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv) ...@@ -3816,7 +3818,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv)
} }
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
if (iwl_debug_level & (IWL_DL_ISR)) { if (priv->debug_level & (IWL_DL_ISR)) {
/* NIC fires this, but we don't use it, redundant with WAKEUP */ /* NIC fires this, but we don't use it, redundant with WAKEUP */
if (inta & CSR_INT_BIT_SCD) if (inta & CSR_INT_BIT_SCD)
IWL_DEBUG_ISR("Scheduler finished to transmit " IWL_DEBUG_ISR("Scheduler finished to transmit "
...@@ -3909,7 +3911,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv) ...@@ -3909,7 +3911,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv)
iwl4965_enable_interrupts(priv); iwl4965_enable_interrupts(priv);
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
if (iwl_debug_level & (IWL_DL_ISR)) { if (priv->debug_level & (IWL_DL_ISR)) {
inta = iwl_read32(priv, CSR_INT); inta = iwl_read32(priv, CSR_INT);
inta_mask = iwl_read32(priv, CSR_INT_MASK); inta_mask = iwl_read32(priv, CSR_INT_MASK);
inta_fh = iwl_read32(priv, CSR_FH_INT_STATUS); inta_fh = iwl_read32(priv, CSR_FH_INT_STATUS);
...@@ -6049,6 +6051,9 @@ static int iwl4965_mac_get_tx_stats(struct ieee80211_hw *hw, ...@@ -6049,6 +6051,9 @@ static int iwl4965_mac_get_tx_stats(struct ieee80211_hw *hw,
static int iwl4965_mac_get_stats(struct ieee80211_hw *hw, static int iwl4965_mac_get_stats(struct ieee80211_hw *hw,
struct ieee80211_low_level_stats *stats) struct ieee80211_low_level_stats *stats)
{ {
struct iwl_priv *priv = hw->priv;
priv = hw->priv;
IWL_DEBUG_MAC80211("enter\n"); IWL_DEBUG_MAC80211("enter\n");
IWL_DEBUG_MAC80211("leave\n"); IWL_DEBUG_MAC80211("leave\n");
...@@ -6057,6 +6062,9 @@ static int iwl4965_mac_get_stats(struct ieee80211_hw *hw, ...@@ -6057,6 +6062,9 @@ static int iwl4965_mac_get_stats(struct ieee80211_hw *hw,
static u64 iwl4965_mac_get_tsf(struct ieee80211_hw *hw) static u64 iwl4965_mac_get_tsf(struct ieee80211_hw *hw)
{ {
struct iwl_priv *priv;
priv = hw->priv;
IWL_DEBUG_MAC80211("enter\n"); IWL_DEBUG_MAC80211("enter\n");
IWL_DEBUG_MAC80211("leave\n"); IWL_DEBUG_MAC80211("leave\n");
...@@ -6706,7 +6714,9 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e ...@@ -6706,7 +6714,9 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
/* Disabling hardware scan means that mac80211 will perform scans /* Disabling hardware scan means that mac80211 will perform scans
* "the hard way", rather than using device's scan. */ * "the hard way", rather than using device's scan. */
if (cfg->mod_params->disable_hw_scan) { if (cfg->mod_params->disable_hw_scan) {
IWL_DEBUG_INFO("Disabling hw_scan\n"); if (cfg->mod_params->debug & IWL_DL_INFO)
dev_printk(KERN_DEBUG, &(pdev->dev),
"Disabling hw_scan\n");
iwl4965_hw_ops.hw_scan = NULL; iwl4965_hw_ops.hw_scan = NULL;
} }
...@@ -6725,7 +6735,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e ...@@ -6725,7 +6735,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
priv->pci_dev = pdev; priv->pci_dev = pdev;
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
iwl_debug_level = priv->cfg->mod_params->debug; priv->debug_level = priv->cfg->mod_params->debug;
atomic_set(&priv->restrict_refcnt, 0); atomic_set(&priv->restrict_refcnt, 0);
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册