aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-ucode.c10
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h15
3 files changed, 22 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
index a9ea7a1fef02..a7961bf395fc 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
@@ -57,11 +57,11 @@ static const s8 iwlagn_ipan_queue_to_tx_fifo[] = {
57 IWL_TX_FIFO_VI, 57 IWL_TX_FIFO_VI,
58 IWL_TX_FIFO_BE, 58 IWL_TX_FIFO_BE,
59 IWL_TX_FIFO_BK, 59 IWL_TX_FIFO_BK,
60 IWL_TX_FIFO_UNUSED, /* FIXME */ 60 IWL_TX_FIFO_BK_IPAN,
61 IWL_TX_FIFO_UNUSED, /* FIXME */ 61 IWL_TX_FIFO_BE_IPAN,
62 IWL_TX_FIFO_UNUSED, /* FIXME */ 62 IWL_TX_FIFO_VI_IPAN,
63 IWL_TX_FIFO_UNUSED, /* FIXME */ 63 IWL_TX_FIFO_VO_IPAN,
64 IWL_TX_FIFO_UNUSED, /* FIXME */ 64 IWL_TX_FIFO_BE_IPAN,
65 IWLAGN_CMD_FIFO_NUM, 65 IWLAGN_CMD_FIFO_NUM,
66}; 66};
67 67
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index cfc8e8de8798..5f67955c76cf 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3012,7 +3012,10 @@ static int __iwl_up(struct iwl_priv *priv)
3012 iwl_write32(priv, CSR_INT, 0xFFFFFFFF); 3012 iwl_write32(priv, CSR_INT, 0xFFFFFFFF);
3013 3013
3014 /* must be initialised before iwl_hw_nic_init */ 3014 /* must be initialised before iwl_hw_nic_init */
3015 priv->cmd_queue = IWL_DEFAULT_CMD_QUEUE_NUM; 3015 if (priv->valid_contexts != BIT(IWL_RXON_CTX_BSS))
3016 priv->cmd_queue = IWL_IPAN_CMD_QUEUE_NUM;
3017 else
3018 priv->cmd_queue = IWL_DEFAULT_CMD_QUEUE_NUM;
3016 3019
3017 ret = iwlagn_hw_nic_init(priv); 3020 ret = iwlagn_hw_nic_init(priv);
3018 if (ret) { 3021 if (ret) {
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 7cafb26a5f52..8ec377d514fb 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -253,10 +253,14 @@ struct iwl_channel_info {
253 struct iwl3945_scan_power_info scan_pwr_info[IWL_NUM_SCAN_RATES]; 253 struct iwl3945_scan_power_info scan_pwr_info[IWL_NUM_SCAN_RATES];
254}; 254};
255 255
256#define IWL_TX_FIFO_BK 0 256#define IWL_TX_FIFO_BK 0 /* shared */
257#define IWL_TX_FIFO_BE 1 257#define IWL_TX_FIFO_BE 1
258#define IWL_TX_FIFO_VI 2 258#define IWL_TX_FIFO_VI 2 /* shared */
259#define IWL_TX_FIFO_VO 3 259#define IWL_TX_FIFO_VO 3
260#define IWL_TX_FIFO_BK_IPAN IWL_TX_FIFO_BK
261#define IWL_TX_FIFO_BE_IPAN 4
262#define IWL_TX_FIFO_VI_IPAN IWL_TX_FIFO_VI
263#define IWL_TX_FIFO_VO_IPAN 5
260#define IWL_TX_FIFO_UNUSED -1 264#define IWL_TX_FIFO_UNUSED -1
261 265
262/* Minimum number of queues. MAX_NUM is defined in hw specific files. 266/* Minimum number of queues. MAX_NUM is defined in hw specific files.
@@ -270,6 +274,13 @@ struct iwl_channel_info {
270#define IWL_DEFAULT_CMD_QUEUE_NUM 4 274#define IWL_DEFAULT_CMD_QUEUE_NUM 4
271#define IWL_IPAN_CMD_QUEUE_NUM 9 275#define IWL_IPAN_CMD_QUEUE_NUM 9
272 276
277/*
278 * This queue number is required for proper operation
279 * because the ucode will stop/start the scheduler as
280 * required.
281 */
282#define IWL_IPAN_MCAST_QUEUE 8
283
273/* Power management (not Tx power) structures */ 284/* Power management (not Tx power) structures */
274 285
275enum iwl_pwr_src { 286enum iwl_pwr_src {