mwifiex: add custom IE framework
[deliverable/linux.git] / drivers / net / wireless / mwifiex / cmdevt.c
index 6e0a3eaecf7070bcdcce90eb91e63d7fe6cc6aab..51e023ec1de4e634638575fc561206cd481fdbd7 100644 (file)
@@ -67,7 +67,7 @@ mwifiex_get_cmd_node(struct mwifiex_adapter *adapter)
                return NULL;
        }
        cmd_node = list_first_entry(&adapter->cmd_free_q,
-                       struct cmd_ctrl_node, list);
+                                   struct cmd_ctrl_node, list);
        list_del(&cmd_node->list);
        spin_unlock_irqrestore(&adapter->cmd_free_q_lock, flags);
 
@@ -139,6 +139,7 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv,
        uint16_t cmd_size;
        struct timeval tstamp;
        unsigned long flags;
+       __le32 tmp;
 
        if (!adapter || !cmd_node)
                return -1;
@@ -158,8 +159,9 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv,
        /* Set command sequence number */
        adapter->seq_num++;
        host_cmd->seq_num = cpu_to_le16(HostCmd_SET_SEQ_NO_BSS_INFO
-                           (adapter->seq_num, cmd_node->priv->bss_num,
-                            cmd_node->priv->bss_type));
+                                       (adapter->seq_num,
+                                        cmd_node->priv->bss_num,
+                                        cmd_node->priv->bss_type));
 
        spin_lock_irqsave(&adapter->mwifiex_cmd_lock, flags);
        adapter->curr_cmd = cmd_node;
@@ -174,18 +176,31 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv,
        dev_dbg(adapter->dev, "cmd: DNLD_CMD: (%lu.%lu): %#x, act %#x, len %d,"
                " seqno %#x\n",
                tstamp.tv_sec, tstamp.tv_usec, cmd_code,
-              le16_to_cpu(*(__le16 *) ((u8 *) host_cmd + S_DS_GEN)), cmd_size,
-              le16_to_cpu(host_cmd->seq_num));
-
-       skb_push(cmd_node->cmd_skb, INTF_HEADER_LEN);
-
-       ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
-                                          cmd_node->cmd_skb, NULL);
-
-       skb_pull(cmd_node->cmd_skb, INTF_HEADER_LEN);
+               le16_to_cpu(*(__le16 *) ((u8 *) host_cmd + S_DS_GEN)), cmd_size,
+               le16_to_cpu(host_cmd->seq_num));
+
+       if (adapter->iface_type == MWIFIEX_USB) {
+               tmp = cpu_to_le32(MWIFIEX_USB_TYPE_CMD);
+               skb_push(cmd_node->cmd_skb, MWIFIEX_TYPE_LEN);
+               memcpy(cmd_node->cmd_skb->data, &tmp, MWIFIEX_TYPE_LEN);
+               adapter->cmd_sent = true;
+               ret = adapter->if_ops.host_to_card(adapter,
+                                                  MWIFIEX_USB_EP_CMD_EVENT,
+                                                  cmd_node->cmd_skb, NULL);
+               skb_pull(cmd_node->cmd_skb, MWIFIEX_TYPE_LEN);
+               if (ret == -EBUSY)
+                       cmd_node->cmd_skb = NULL;
+       } else {
+               skb_push(cmd_node->cmd_skb, INTF_HEADER_LEN);
+               ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
+                                                  cmd_node->cmd_skb, NULL);
+               skb_pull(cmd_node->cmd_skb, INTF_HEADER_LEN);
+       }
 
        if (ret == -1) {
                dev_err(adapter->dev, "DNLD_CMD: host to card failed\n");
+               if (adapter->iface_type == MWIFIEX_USB)
+                       adapter->cmd_sent = false;
                if (cmd_node->wait_q_enabled)
                        adapter->cmd_wait_q.status = -1;
                mwifiex_insert_cmd_to_free_q(adapter, adapter->curr_cmd);
@@ -200,17 +215,17 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv,
 
        /* Save the last command id and action to debug log */
        adapter->dbg.last_cmd_index =
-               (adapter->dbg.last_cmd_index + 1) % DBG_CMD_NUM;
+                       (adapter->dbg.last_cmd_index + 1) % DBG_CMD_NUM;
        adapter->dbg.last_cmd_id[adapter->dbg.last_cmd_index] = cmd_code;
        adapter->dbg.last_cmd_act[adapter->dbg.last_cmd_index] =
-               le16_to_cpu(*(__le16 *) ((u8 *) host_cmd + S_DS_GEN));
+                       le16_to_cpu(*(__le16 *) ((u8 *) host_cmd + S_DS_GEN));
 
        /* Clear BSS_NO_BITS from HostCmd */
        cmd_code &= HostCmd_CMD_ID_MASK;
 
        /* Setup the timer after transmit command */
        mod_timer(&adapter->cmd_timer,
-               jiffies + (MWIFIEX_TIMER_10S * HZ) / 1000);
+                 jiffies + (MWIFIEX_TIMER_10S * HZ) / 1000);
 
        return 0;
 }
@@ -230,7 +245,10 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
        struct mwifiex_private *priv;
        struct mwifiex_opt_sleep_confirm *sleep_cfm_buf =
                                (struct mwifiex_opt_sleep_confirm *)
-                               adapter->sleep_cfm->data;
+                                               adapter->sleep_cfm->data;
+       struct sk_buff *sleep_cfm_tmp;
+       __le32 tmp;
+
        priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
 
        sleep_cfm_buf->seq_num =
@@ -239,10 +257,28 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
                                         priv->bss_type)));
        adapter->seq_num++;
 
-       skb_push(adapter->sleep_cfm, INTF_HEADER_LEN);
-       ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
-                                          adapter->sleep_cfm, NULL);
-       skb_pull(adapter->sleep_cfm, INTF_HEADER_LEN);
+       if (adapter->iface_type == MWIFIEX_USB) {
+               sleep_cfm_tmp =
+                       dev_alloc_skb(sizeof(struct mwifiex_opt_sleep_confirm)
+                                     + MWIFIEX_TYPE_LEN);
+               skb_put(sleep_cfm_tmp, sizeof(struct mwifiex_opt_sleep_confirm)
+                       + MWIFIEX_TYPE_LEN);
+               tmp = cpu_to_le32(MWIFIEX_USB_TYPE_CMD);
+               memcpy(sleep_cfm_tmp->data, &tmp, MWIFIEX_TYPE_LEN);
+               memcpy(sleep_cfm_tmp->data + MWIFIEX_TYPE_LEN,
+                      adapter->sleep_cfm->data,
+                      sizeof(struct mwifiex_opt_sleep_confirm));
+               ret = adapter->if_ops.host_to_card(adapter,
+                                                  MWIFIEX_USB_EP_CMD_EVENT,
+                                                  sleep_cfm_tmp, NULL);
+               if (ret != -EBUSY)
+                       dev_kfree_skb_any(sleep_cfm_tmp);
+       } else {
+               skb_push(adapter->sleep_cfm, INTF_HEADER_LEN);
+               ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
+                                                  adapter->sleep_cfm, NULL);
+               skb_pull(adapter->sleep_cfm, INTF_HEADER_LEN);
+       }
 
        if (ret == -1) {
                dev_err(adapter->dev, "SLEEP_CFM: failed\n");
@@ -250,7 +286,7 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
                return -1;
        }
        if (GET_BSS_ROLE(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY))
-                       == MWIFIEX_BSS_ROLE_STA) {
+           == MWIFIEX_BSS_ROLE_STA) {
                if (!sleep_cfm_buf->resp_ctrl)
                        /* Response is not needed for sleep
                           confirm command */
@@ -258,12 +294,12 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
                else
                        adapter->ps_state = PS_STATE_SLEEP_CFM;
 
-               if (!sleep_cfm_buf->resp_ctrl
-                               && (adapter->is_hs_configured
-                                       && !adapter->sleep_period.period)) {
+               if (!sleep_cfm_buf->resp_ctrl &&
+                   (adapter->is_hs_configured &&
+                    !adapter->sleep_period.period)) {
                        adapter->pm_wakeup_card_req = true;
-                       mwifiex_hs_activated_event(mwifiex_get_priv(adapter,
-                                               MWIFIEX_BSS_ROLE_STA), true);
+                       mwifiex_hs_activated_event(mwifiex_get_priv
+                                       (adapter, MWIFIEX_BSS_ROLE_STA), true);
                }
        }
 
@@ -293,7 +329,7 @@ int mwifiex_alloc_cmd_buffer(struct mwifiex_adapter *adapter)
        cmd_array = kzalloc(buf_size, GFP_KERNEL);
        if (!cmd_array) {
                dev_err(adapter->dev, "%s: failed to alloc cmd_array\n",
-                               __func__);
+                       __func__);
                return -ENOMEM;
        }
 
@@ -342,7 +378,12 @@ int mwifiex_free_cmd_buffer(struct mwifiex_adapter *adapter)
                }
                if (!cmd_array[i].resp_skb)
                        continue;
-               dev_kfree_skb_any(cmd_array[i].resp_skb);
+
+               if (adapter->iface_type == MWIFIEX_USB)
+                       adapter->if_ops.cmdrsp_complete(adapter,
+                                                       cmd_array[i].resp_skb);
+               else
+                       dev_kfree_skb_any(cmd_array[i].resp_skb);
        }
        /* Release struct cmd_ctrl_node */
        if (adapter->cmd_pool) {
@@ -376,9 +417,9 @@ int mwifiex_process_event(struct mwifiex_adapter *adapter)
 
        /* Save the last event to debug log */
        adapter->dbg.last_event_index =
-               (adapter->dbg.last_event_index + 1) % DBG_CMD_NUM;
+                       (adapter->dbg.last_event_index + 1) % DBG_CMD_NUM;
        adapter->dbg.last_event[adapter->dbg.last_event_index] =
-               (u16) eventcause;
+                                                       (u16) eventcause;
 
        /* Get BSS number and corresponding priv */
        priv = mwifiex_get_priv_by_id(adapter, EVENT_GET_BSS_NUM(eventcause),
@@ -391,13 +432,19 @@ int mwifiex_process_event(struct mwifiex_adapter *adapter)
 
        if (skb) {
                rx_info = MWIFIEX_SKB_RXCB(skb);
-               rx_info->bss_index = priv->bss_index;
+               rx_info->bss_num = priv->bss_num;
+               rx_info->bss_type = priv->bss_type;
        }
 
        if (eventcause != EVENT_PS_SLEEP && eventcause != EVENT_PS_AWAKE) {
                do_gettimeofday(&tstamp);
                dev_dbg(adapter->dev, "event: %lu.%lu: cause: %#x\n",
-                      tstamp.tv_sec, tstamp.tv_usec, eventcause);
+                       tstamp.tv_sec, tstamp.tv_usec, eventcause);
+       } else {
+               /* Handle PS_SLEEP/AWAKE events on STA */
+               priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
+               if (!priv)
+                       priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
        }
 
        ret = mwifiex_process_sta_event(priv);
@@ -498,8 +545,20 @@ int mwifiex_send_cmd_async(struct mwifiex_private *priv, uint16_t cmd_no,
 
        /* Prepare command */
        if (cmd_no) {
-               ret = mwifiex_sta_prepare_cmd(priv, cmd_no, cmd_action,
-                                             cmd_oid, data_buf, cmd_ptr);
+               switch (cmd_no) {
+               case HostCmd_CMD_UAP_SYS_CONFIG:
+               case HostCmd_CMD_UAP_BSS_START:
+               case HostCmd_CMD_UAP_BSS_STOP:
+                       ret = mwifiex_uap_prepare_cmd(priv, cmd_no, cmd_action,
+                                                     cmd_oid, data_buf,
+                                                     cmd_ptr);
+                       break;
+               default:
+                       ret = mwifiex_sta_prepare_cmd(priv, cmd_no, cmd_action,
+                                                     cmd_oid, data_buf,
+                                                     cmd_ptr);
+                       break;
+               }
        } else {
                ret = mwifiex_cmd_host_cmd(priv, cmd_ptr, data_buf);
                cmd_node->cmd_flag |= CMD_F_HOSTCMD;
@@ -508,7 +567,7 @@ int mwifiex_send_cmd_async(struct mwifiex_private *priv, uint16_t cmd_no,
        /* Return error, since the command preparation failed */
        if (ret) {
                dev_err(adapter->dev, "PREP_CMD: cmd %#x preparation failed\n",
-                                                       cmd_no);
+                       cmd_no);
                mwifiex_insert_cmd_to_free_q(adapter, cmd_node);
                return -1;
        }
@@ -576,9 +635,9 @@ mwifiex_insert_cmd_to_pending_q(struct mwifiex_adapter *adapter,
        /* Exit_PS command needs to be queued in the header always. */
        if (command == HostCmd_CMD_802_11_PS_MODE_ENH) {
                struct host_cmd_ds_802_11_ps_mode_enh *pm =
-                       &host_cmd->params.psmode_enh;
-               if ((le16_to_cpu(pm->action) == DIS_PS)
-                   || (le16_to_cpu(pm->action) == DIS_AUTO_PS)) {
+                                               &host_cmd->params.psmode_enh;
+               if ((le16_to_cpu(pm->action) == DIS_PS) ||
+                   (le16_to_cpu(pm->action) == DIS_AUTO_PS)) {
                        if (adapter->ps_state != PS_STATE_AWAKE)
                                add_tail = false;
                }
@@ -691,7 +750,7 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
        if (!adapter->curr_cmd || !adapter->curr_cmd->resp_skb) {
                resp = (struct host_cmd_ds_command *) adapter->upld_buf;
                dev_err(adapter->dev, "CMD_RESP: NULL curr_cmd, %#x\n",
-                      le16_to_cpu(resp->command));
+                       le16_to_cpu(resp->command));
                return -1;
        }
 
@@ -700,7 +759,7 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
        resp = (struct host_cmd_ds_command *) adapter->curr_cmd->resp_skb->data;
        if (adapter->curr_cmd->cmd_flag & CMD_F_CANCELED) {
                dev_err(adapter->dev, "CMD_RESP: %#x been canceled\n",
-                               le16_to_cpu(resp->command));
+                       le16_to_cpu(resp->command));
                mwifiex_insert_cmd_to_free_q(adapter, adapter->curr_cmd);
                spin_lock_irqsave(&adapter->mwifiex_cmd_lock, flags);
                adapter->curr_cmd = NULL;
@@ -724,8 +783,8 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
 
        /* Get BSS number and corresponding priv */
        priv = mwifiex_get_priv_by_id(adapter,
-                       HostCmd_GET_BSS_NO(le16_to_cpu(resp->seq_num)),
-                       HostCmd_GET_BSS_TYPE(le16_to_cpu(resp->seq_num)));
+                            HostCmd_GET_BSS_NO(le16_to_cpu(resp->seq_num)),
+                            HostCmd_GET_BSS_TYPE(le16_to_cpu(resp->seq_num)));
        if (!priv)
                priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
        /* Clear RET_BIT from HostCmd */
@@ -736,9 +795,9 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
 
        /* Save the last command response to debug log */
        adapter->dbg.last_cmd_resp_index =
-               (adapter->dbg.last_cmd_resp_index + 1) % DBG_CMD_NUM;
+                       (adapter->dbg.last_cmd_resp_index + 1) % DBG_CMD_NUM;
        adapter->dbg.last_cmd_resp_id[adapter->dbg.last_cmd_resp_index] =
-               orig_cmdresp_no;
+                                                               orig_cmdresp_no;
 
        do_gettimeofday(&tstamp);
        dev_dbg(adapter->dev, "cmd: CMD_RESP: (%lu.%lu): 0x%x, result %d,"
@@ -760,8 +819,8 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
 
        if (adapter->curr_cmd->cmd_flag & CMD_F_HOSTCMD) {
                adapter->curr_cmd->cmd_flag &= ~CMD_F_HOSTCMD;
-               if ((cmdresp_result == HostCmd_RESULT_OK)
-                   && (cmdresp_no == HostCmd_CMD_802_11_HS_CFG_ENH))
+               if ((cmdresp_result == HostCmd_RESULT_OK) &&
+                   (cmdresp_no == HostCmd_CMD_802_11_HS_CFG_ENH))
                        ret = mwifiex_ret_802_11_hs_cfg(priv, resp);
        } else {
                /* handle response */
@@ -770,7 +829,7 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
 
        /* Check init command response */
        if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) {
-               if (ret == -1) {
+               if (ret) {
                        dev_err(adapter->dev, "%s: cmd %#x failed during "
                                "initialization\n", __func__, cmdresp_no);
                        mwifiex_init_fw_complete(adapter);
@@ -780,10 +839,8 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
        }
 
        if (adapter->curr_cmd) {
-               if (adapter->curr_cmd->wait_q_enabled && (!ret))
-                       adapter->cmd_wait_q.status = 0;
-               else if (adapter->curr_cmd->wait_q_enabled && (ret == -1))
-                       adapter->cmd_wait_q.status = -1;
+               if (adapter->curr_cmd->wait_q_enabled)
+                       adapter->cmd_wait_q.status = ret;
 
                /* Clean up and put current command back to cmd_free_q */
                mwifiex_insert_cmd_to_free_q(adapter, adapter->curr_cmd);
@@ -825,44 +882,45 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
                adapter->dbg.timeout_cmd_act =
                        adapter->dbg.last_cmd_act[adapter->dbg.last_cmd_index];
                do_gettimeofday(&tstamp);
-               dev_err(adapter->dev, "%s: Timeout cmd id (%lu.%lu) = %#x,"
-                       " act = %#x\n", __func__,
-                      tstamp.tv_sec, tstamp.tv_usec,
-                      adapter->dbg.timeout_cmd_id,
-                      adapter->dbg.timeout_cmd_act);
+               dev_err(adapter->dev,
+                       "%s: Timeout cmd id (%lu.%lu) = %#x, act = %#x\n",
+                       __func__, tstamp.tv_sec, tstamp.tv_usec,
+                       adapter->dbg.timeout_cmd_id,
+                       adapter->dbg.timeout_cmd_act);
 
                dev_err(adapter->dev, "num_data_h2c_failure = %d\n",
-                      adapter->dbg.num_tx_host_to_card_failure);
+                       adapter->dbg.num_tx_host_to_card_failure);
                dev_err(adapter->dev, "num_cmd_h2c_failure = %d\n",
-                      adapter->dbg.num_cmd_host_to_card_failure);
+                       adapter->dbg.num_cmd_host_to_card_failure);
 
                dev_err(adapter->dev, "num_cmd_timeout = %d\n",
-                      adapter->dbg.num_cmd_timeout);
+                       adapter->dbg.num_cmd_timeout);
                dev_err(adapter->dev, "num_tx_timeout = %d\n",
-                      adapter->dbg.num_tx_timeout);
+                       adapter->dbg.num_tx_timeout);
 
                dev_err(adapter->dev, "last_cmd_index = %d\n",
-                      adapter->dbg.last_cmd_index);
+                       adapter->dbg.last_cmd_index);
                print_hex_dump_bytes("last_cmd_id: ", DUMP_PREFIX_OFFSET,
-                               adapter->dbg.last_cmd_id, DBG_CMD_NUM);
+                                    adapter->dbg.last_cmd_id, DBG_CMD_NUM);
                print_hex_dump_bytes("last_cmd_act: ", DUMP_PREFIX_OFFSET,
-                               adapter->dbg.last_cmd_act, DBG_CMD_NUM);
+                                    adapter->dbg.last_cmd_act, DBG_CMD_NUM);
 
                dev_err(adapter->dev, "last_cmd_resp_index = %d\n",
-                      adapter->dbg.last_cmd_resp_index);
+                       adapter->dbg.last_cmd_resp_index);
                print_hex_dump_bytes("last_cmd_resp_id: ", DUMP_PREFIX_OFFSET,
-                               adapter->dbg.last_cmd_resp_id, DBG_CMD_NUM);
+                                    adapter->dbg.last_cmd_resp_id,
+                                    DBG_CMD_NUM);
 
                dev_err(adapter->dev, "last_event_index = %d\n",
-                      adapter->dbg.last_event_index);
+                       adapter->dbg.last_event_index);
                print_hex_dump_bytes("last_event: ", DUMP_PREFIX_OFFSET,
-                               adapter->dbg.last_event, DBG_CMD_NUM);
+                                    adapter->dbg.last_event, DBG_CMD_NUM);
 
                dev_err(adapter->dev, "data_sent=%d cmd_sent=%d\n",
-                      adapter->data_sent, adapter->cmd_sent);
+                       adapter->data_sent, adapter->cmd_sent);
 
                dev_err(adapter->dev, "ps_mode=%d ps_state=%d\n",
-                               adapter->ps_mode, adapter->ps_state);
+                       adapter->ps_mode, adapter->ps_state);
        }
        if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING)
                mwifiex_init_fw_complete(adapter);
@@ -943,7 +1001,7 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter)
        uint16_t cancel_scan_cmd = false;
 
        if ((adapter->curr_cmd) &&
-            (adapter->curr_cmd->wait_q_enabled)) {
+           (adapter->curr_cmd->wait_q_enabled)) {
                spin_lock_irqsave(&adapter->mwifiex_cmd_lock, cmd_flags);
                cmd_node = adapter->curr_cmd;
                cmd_node->wait_q_enabled = false;
@@ -997,9 +1055,9 @@ mwifiex_check_ps_cond(struct mwifiex_adapter *adapter)
        else
                dev_dbg(adapter->dev,
                        "cmd: Delay Sleep Confirm (%s%s%s)\n",
-                      (adapter->cmd_sent) ? "D" : "",
-                      (adapter->curr_cmd) ? "C" : "",
-                      (IS_CARD_RX_RCVD(adapter)) ? "R" : "");
+                       (adapter->cmd_sent) ? "D" : "",
+                       (adapter->curr_cmd) ? "C" : "",
+                       (IS_CARD_RX_RCVD(adapter)) ? "R" : "");
 }
 
 /*
@@ -1051,8 +1109,8 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,
                dev_dbg(adapter->dev, "cmd: CMD_RESP: HS_CFG cmd reply"
                        " result=%#x, conditions=0x%x gpio=0x%x gap=0x%x\n",
                        resp->result, conditions,
-                      phs_cfg->params.hs_config.gpio,
-                      phs_cfg->params.hs_config.gap);
+                       phs_cfg->params.hs_config.gpio,
+                       phs_cfg->params.hs_config.gap);
        }
        if (conditions != HOST_SLEEP_CFG_CANCEL) {
                adapter->is_hs_configured = true;
@@ -1079,8 +1137,10 @@ mwifiex_process_hs_config(struct mwifiex_adapter *adapter)
        adapter->hs_activated = false;
        adapter->is_hs_configured = false;
        mwifiex_hs_activated_event(mwifiex_get_priv(adapter,
-                                  MWIFIEX_BSS_ROLE_ANY), false);
+                                                   MWIFIEX_BSS_ROLE_ANY),
+                                  false);
 }
+EXPORT_SYMBOL_GPL(mwifiex_process_hs_config);
 
 /*
  * This function handles the command response of a sleep confirm command.
@@ -1115,22 +1175,24 @@ mwifiex_process_sleep_confirm_resp(struct mwifiex_adapter *adapter,
        command &= HostCmd_CMD_ID_MASK;
 
        if (command != HostCmd_CMD_802_11_PS_MODE_ENH) {
-               dev_err(adapter->dev, "%s: received unexpected response for"
-                       " cmd %x, result = %x\n", __func__, command, result);
+               dev_err(adapter->dev,
+                       "%s: rcvd unexpected resp for cmd %#x, result = %x\n",
+                       __func__, command, result);
                return;
        }
 
        if (result) {
                dev_err(adapter->dev, "%s: sleep confirm cmd failed\n",
-                                               __func__);
+                       __func__);
                adapter->pm_wakeup_card_req = false;
                adapter->ps_state = PS_STATE_AWAKE;
                return;
        }
        adapter->pm_wakeup_card_req = true;
        if (adapter->is_hs_configured)
-               mwifiex_hs_activated_event(mwifiex_get_priv(adapter,
-                                          MWIFIEX_BSS_ROLE_ANY), true);
+               mwifiex_hs_activated_event(mwifiex_get_priv
+                                               (adapter, MWIFIEX_BSS_ROLE_ANY),
+                                          true);
        adapter->ps_state = PS_STATE_SLEEP;
        cmd->command = cpu_to_le16(command);
        cmd->seq_num = cpu_to_le16(seq_num);
@@ -1164,17 +1226,17 @@ int mwifiex_cmd_enh_power_mode(struct mwifiex_private *priv,
                psmode_enh->action = cpu_to_le16(DIS_AUTO_PS);
                psmode_enh->params.ps_bitmap = cpu_to_le16(ps_bitmap);
                cmd->size = cpu_to_le16(S_DS_GEN + sizeof(psmode_enh->action) +
-                               sizeof(psmode_enh->params.ps_bitmap));
+                                       sizeof(psmode_enh->params.ps_bitmap));
        } else if (cmd_action == GET_PS) {
                psmode_enh->action = cpu_to_le16(GET_PS);
                psmode_enh->params.ps_bitmap = cpu_to_le16(ps_bitmap);
                cmd->size = cpu_to_le16(S_DS_GEN + sizeof(psmode_enh->action) +
-                               sizeof(psmode_enh->params.ps_bitmap));
+                                       sizeof(psmode_enh->params.ps_bitmap));
        } else if (cmd_action == EN_AUTO_PS) {
                psmode_enh->action = cpu_to_le16(EN_AUTO_PS);
                psmode_enh->params.ps_bitmap = cpu_to_le16(ps_bitmap);
                cmd_size = S_DS_GEN + sizeof(psmode_enh->action) +
-                               sizeof(psmode_enh->params.ps_bitmap);
+                                       sizeof(psmode_enh->params.ps_bitmap);
                tlv = (u8 *) cmd + cmd_size;
                if (ps_bitmap & BITMAP_STA_PS) {
                        struct mwifiex_adapter *adapter = priv->adapter;
@@ -1188,19 +1250,18 @@ int mwifiex_cmd_enh_power_mode(struct mwifiex_private *priv,
                        tlv += sizeof(*ps_tlv);
                        dev_dbg(adapter->dev, "cmd: PS Command: Enter PS\n");
                        ps_mode->null_pkt_interval =
-                               cpu_to_le16(adapter->null_pkt_interval);
+                                       cpu_to_le16(adapter->null_pkt_interval);
                        ps_mode->multiple_dtims =
-                               cpu_to_le16(adapter->multiple_dtim);
+                                       cpu_to_le16(adapter->multiple_dtim);
                        ps_mode->bcn_miss_timeout =
-                               cpu_to_le16(adapter->bcn_miss_time_out);
+                                       cpu_to_le16(adapter->bcn_miss_time_out);
                        ps_mode->local_listen_interval =
                                cpu_to_le16(adapter->local_listen_interval);
                        ps_mode->adhoc_wake_period =
                                cpu_to_le16(adapter->adhoc_awake_period);
                        ps_mode->delay_to_ps =
-                               cpu_to_le16(adapter->delay_to_ps);
-                       ps_mode->mode =
-                               cpu_to_le16(adapter->enhanced_ps_mode);
+                                       cpu_to_le16(adapter->delay_to_ps);
+                       ps_mode->mode = cpu_to_le16(adapter->enhanced_ps_mode);
 
                }
                if (ps_bitmap & BITMAP_AUTO_DS) {
@@ -1218,7 +1279,7 @@ int mwifiex_cmd_enh_power_mode(struct mwifiex_private *priv,
                        if (auto_ds)
                                idletime = auto_ds->idle_time;
                        dev_dbg(priv->adapter->dev,
-                                       "cmd: PS Command: Enter Auto Deep Sleep\n");
+                               "cmd: PS Command: Enter Auto Deep Sleep\n");
                        auto_ds_tlv->deep_sleep_timeout = cpu_to_le16(idletime);
                }
                cmd->size = cpu_to_le16(cmd_size);
@@ -1245,8 +1306,9 @@ int mwifiex_ret_enh_power_mode(struct mwifiex_private *priv,
        uint16_t auto_ps_bitmap =
                le16_to_cpu(ps_mode->params.ps_bitmap);
 
-       dev_dbg(adapter->dev, "info: %s: PS_MODE cmd reply result=%#x action=%#X\n",
-                                       __func__, resp->result, action);
+       dev_dbg(adapter->dev,
+               "info: %s: PS_MODE cmd reply result=%#x action=%#X\n",
+               __func__, resp->result, action);
        if (action == EN_AUTO_PS) {
                if (auto_ps_bitmap & BITMAP_AUTO_DS) {
                        dev_dbg(adapter->dev, "cmd: Enabled auto deep sleep\n");
@@ -1255,7 +1317,8 @@ int mwifiex_ret_enh_power_mode(struct mwifiex_private *priv,
                if (auto_ps_bitmap & BITMAP_STA_PS) {
                        dev_dbg(adapter->dev, "cmd: Enabled STA power save\n");
                        if (adapter->sleep_period.period)
-                               dev_dbg(adapter->dev, "cmd: set to uapsd/pps mode\n");
+                               dev_dbg(adapter->dev,
+                                       "cmd: set to uapsd/pps mode\n");
                }
        } else if (action == DIS_AUTO_PS) {
                if (ps_bitmap & BITMAP_AUTO_DS) {
@@ -1374,12 +1437,13 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv,
        adapter->number_of_antenna = le16_to_cpu(hw_spec->number_of_antenna);
 
        dev_dbg(adapter->dev, "info: GET_HW_SPEC: fw_release_number- %#x\n",
-              adapter->fw_release_number);
+               adapter->fw_release_number);
        dev_dbg(adapter->dev, "info: GET_HW_SPEC: permanent addr: %pM\n",
-                                       hw_spec->permanent_addr);
-       dev_dbg(adapter->dev, "info: GET_HW_SPEC: hw_if_version=%#x  version=%#x\n",
+               hw_spec->permanent_addr);
+       dev_dbg(adapter->dev,
+               "info: GET_HW_SPEC: hw_if_version=%#x version=%#x\n",
                le16_to_cpu(hw_spec->hw_if_version),
-              le16_to_cpu(hw_spec->version));
+               le16_to_cpu(hw_spec->version));
 
        if (priv->curr_addr[0] == 0xff)
                memmove(priv->curr_addr, hw_spec->permanent_addr, ETH_ALEN);
@@ -1394,7 +1458,8 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv,
        /* If it's unidentified region code, use the default (USA) */
        if (i >= MWIFIEX_MAX_REGION_CODE) {
                adapter->region_code = 0x10;
-               dev_dbg(adapter->dev, "cmd: unknown region code, use default (USA)\n");
+               dev_dbg(adapter->dev,
+                       "cmd: unknown region code, use default (USA)\n");
        }
 
        adapter->hw_dot_11n_dev_cap = le32_to_cpu(hw_spec->dot_11n_dev_cap);
This page took 0.052185 seconds and 5 git commands to generate.