diff options
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-ucode.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 15 |
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 | ||
275 | enum iwl_pwr_src { | 286 | enum iwl_pwr_src { |