Merge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
This commit is contained in:
@@ -2623,6 +2623,7 @@ struct iwl_ssid_ie {
|
|||||||
#define TX_CMD_LIFE_TIME_INFINITE cpu_to_le32(0xFFFFFFFF)
|
#define TX_CMD_LIFE_TIME_INFINITE cpu_to_le32(0xFFFFFFFF)
|
||||||
#define IWL_GOOD_CRC_TH cpu_to_le16(1)
|
#define IWL_GOOD_CRC_TH cpu_to_le16(1)
|
||||||
#define IWL_MAX_SCAN_SIZE 1024
|
#define IWL_MAX_SCAN_SIZE 1024
|
||||||
|
#define IWL_MAX_CMD_SIZE 4096
|
||||||
#define IWL_MAX_PROBE_REQUEST 200
|
#define IWL_MAX_PROBE_REQUEST 200
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -364,7 +364,7 @@ int iwl_tx_queue_init(struct iwl_priv *priv, struct iwl_tx_queue *txq,
|
|||||||
for (i = 0; i < actual_slots; i++) {
|
for (i = 0; i < actual_slots; i++) {
|
||||||
/* only happens for cmd queue */
|
/* only happens for cmd queue */
|
||||||
if (i == slots_num)
|
if (i == slots_num)
|
||||||
len += IWL_MAX_SCAN_SIZE;
|
len = IWL_MAX_CMD_SIZE;
|
||||||
|
|
||||||
txq->cmd[i] = kmalloc(len, GFP_KERNEL);
|
txq->cmd[i] = kmalloc(len, GFP_KERNEL);
|
||||||
if (!txq->cmd[i])
|
if (!txq->cmd[i])
|
||||||
@@ -1023,9 +1023,12 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
|
|||||||
|
|
||||||
/* If any of the command structures end up being larger than
|
/* If any of the command structures end up being larger than
|
||||||
* the TFD_MAX_PAYLOAD_SIZE, and it sent as a 'small' command then
|
* the TFD_MAX_PAYLOAD_SIZE, and it sent as a 'small' command then
|
||||||
* we will need to increase the size of the TFD entries */
|
* we will need to increase the size of the TFD entries
|
||||||
|
* Also, check to see if command buffer should not exceed the size
|
||||||
|
* of device_cmd and max_cmd_size. */
|
||||||
BUG_ON((fix_size > TFD_MAX_PAYLOAD_SIZE) &&
|
BUG_ON((fix_size > TFD_MAX_PAYLOAD_SIZE) &&
|
||||||
!(cmd->flags & CMD_SIZE_HUGE));
|
!(cmd->flags & CMD_SIZE_HUGE));
|
||||||
|
BUG_ON(fix_size > IWL_MAX_CMD_SIZE);
|
||||||
|
|
||||||
if (iwl_is_rfkill(priv) || iwl_is_ctkill(priv)) {
|
if (iwl_is_rfkill(priv) || iwl_is_ctkill(priv)) {
|
||||||
IWL_WARN(priv, "Not sending command - %s KILL\n",
|
IWL_WARN(priv, "Not sending command - %s KILL\n",
|
||||||
@@ -1069,8 +1072,8 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
|
|||||||
if (cmd->flags & CMD_SIZE_HUGE)
|
if (cmd->flags & CMD_SIZE_HUGE)
|
||||||
out_cmd->hdr.sequence |= SEQ_HUGE_FRAME;
|
out_cmd->hdr.sequence |= SEQ_HUGE_FRAME;
|
||||||
len = sizeof(struct iwl_device_cmd);
|
len = sizeof(struct iwl_device_cmd);
|
||||||
len += (idx == TFD_CMD_SLOTS) ? IWL_MAX_SCAN_SIZE : 0;
|
if (idx == TFD_CMD_SLOTS)
|
||||||
|
len = IWL_MAX_CMD_SIZE;
|
||||||
|
|
||||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||||
switch (out_cmd->hdr.cmd) {
|
switch (out_cmd->hdr.cmd) {
|
||||||
|
Reference in New Issue
Block a user