Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / drivers / net / wireless / mwifiex / join.c
index 5eab3dc..644e2e4 100644 (file)
@@ -364,10 +364,9 @@ static int mwifiex_append_rsn_ie_wpa_wpa2(struct mwifiex_private *priv,
  */
 int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv,
                                 struct host_cmd_ds_command *cmd,
-                                void *data_buf)
+                                struct mwifiex_bssdescriptor *bss_desc)
 {
        struct host_cmd_ds_802_11_associate *assoc = &cmd->params.associate;
-       struct mwifiex_bssdescriptor *bss_desc;
        struct mwifiex_ie_types_ssid_param_set *ssid_tlv;
        struct mwifiex_ie_types_phy_param_set *phy_tlv;
        struct mwifiex_ie_types_ss_param_set *ss_tlv;
@@ -380,7 +379,6 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv,
        u8 *pos;
        int rsn_ie_len = 0;
 
-       bss_desc = (struct mwifiex_bssdescriptor *) data_buf;
        pos = (u8 *) assoc;
 
        mwifiex_cfg_tx_buf(priv, bss_desc);
@@ -748,7 +746,8 @@ done:
  */
 int
 mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
-                               struct host_cmd_ds_command *cmd, void *data_buf)
+                               struct host_cmd_ds_command *cmd,
+                               struct mwifiex_802_11_ssid *req_ssid)
 {
        int rsn_ie_len = 0;
        struct mwifiex_adapter *adapter = priv->adapter;
@@ -786,20 +785,15 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
 
        memset(adhoc_start->ssid, 0, IEEE80211_MAX_SSID_LEN);
 
-       memcpy(adhoc_start->ssid,
-              ((struct mwifiex_802_11_ssid *) data_buf)->ssid,
-              ((struct mwifiex_802_11_ssid *) data_buf)->ssid_len);
+       memcpy(adhoc_start->ssid, req_ssid->ssid, req_ssid->ssid_len);
 
        dev_dbg(adapter->dev, "info: ADHOC_S_CMD: SSID = %s\n",
                                adhoc_start->ssid);
 
        memset(bss_desc->ssid.ssid, 0, IEEE80211_MAX_SSID_LEN);
-       memcpy(bss_desc->ssid.ssid,
-              ((struct mwifiex_802_11_ssid *) data_buf)->ssid,
-              ((struct mwifiex_802_11_ssid *) data_buf)->ssid_len);
+       memcpy(bss_desc->ssid.ssid, req_ssid->ssid, req_ssid->ssid_len);
 
-       bss_desc->ssid.ssid_len =
-               ((struct mwifiex_802_11_ssid *) data_buf)->ssid_len;
+       bss_desc->ssid.ssid_len = req_ssid->ssid_len;
 
        /* Set the BSS mode */
        adhoc_start->bss_mode = HostCmd_BSS_MODE_IBSS;
@@ -1036,13 +1030,12 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
  */
 int
 mwifiex_cmd_802_11_ad_hoc_join(struct mwifiex_private *priv,
-                              struct host_cmd_ds_command *cmd, void *data_buf)
+                              struct host_cmd_ds_command *cmd,
+                              struct mwifiex_bssdescriptor *bss_desc)
 {
        int rsn_ie_len = 0;
        struct host_cmd_ds_802_11_ad_hoc_join *adhoc_join =
                &cmd->params.adhoc_join;
-       struct mwifiex_bssdescriptor *bss_desc =
-               (struct mwifiex_bssdescriptor *) data_buf;
        struct mwifiex_ie_types_chan_list_param_set *chan_tlv;
        u32 cmd_append_size = 0;
        u16 tmp_cap;