diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-sta.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index cbe4e26d053f..1571ace05dde 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -98,7 +98,8 @@ static void iwl_sta_ucode_activate(struct iwl_priv *priv, u8 sta_id) | |||
98 | } | 98 | } |
99 | 99 | ||
100 | static int iwl_add_sta_callback(struct iwl_priv *priv, | 100 | static int iwl_add_sta_callback(struct iwl_priv *priv, |
101 | struct iwl_cmd *cmd, struct sk_buff *skb) | 101 | struct iwl_device_cmd *cmd, |
102 | struct sk_buff *skb) | ||
102 | { | 103 | { |
103 | struct iwl_rx_packet *res = NULL; | 104 | struct iwl_rx_packet *res = NULL; |
104 | struct iwl_addsta_cmd *addsta = | 105 | struct iwl_addsta_cmd *addsta = |
@@ -139,14 +140,14 @@ int iwl_send_add_sta(struct iwl_priv *priv, | |||
139 | u8 data[sizeof(*sta)]; | 140 | u8 data[sizeof(*sta)]; |
140 | struct iwl_host_cmd cmd = { | 141 | struct iwl_host_cmd cmd = { |
141 | .id = REPLY_ADD_STA, | 142 | .id = REPLY_ADD_STA, |
142 | .meta.flags = flags, | 143 | .flags = flags, |
143 | .data = data, | 144 | .data = data, |
144 | }; | 145 | }; |
145 | 146 | ||
146 | if (flags & CMD_ASYNC) | 147 | if (flags & CMD_ASYNC) |
147 | cmd.meta.u.callback = iwl_add_sta_callback; | 148 | cmd.callback = iwl_add_sta_callback; |
148 | else | 149 | else |
149 | cmd.meta.flags |= CMD_WANT_SKB; | 150 | cmd.flags |= CMD_WANT_SKB; |
150 | 151 | ||
151 | cmd.len = priv->cfg->ops->utils->build_addsta_hcmd(sta, data); | 152 | cmd.len = priv->cfg->ops->utils->build_addsta_hcmd(sta, data); |
152 | ret = iwl_send_cmd(priv, &cmd); | 153 | ret = iwl_send_cmd(priv, &cmd); |
@@ -154,7 +155,7 @@ int iwl_send_add_sta(struct iwl_priv *priv, | |||
154 | if (ret || (flags & CMD_ASYNC)) | 155 | if (ret || (flags & CMD_ASYNC)) |
155 | return ret; | 156 | return ret; |
156 | 157 | ||
157 | res = (struct iwl_rx_packet *)cmd.meta.u.skb->data; | 158 | res = (struct iwl_rx_packet *)cmd.reply_skb->data; |
158 | if (res->hdr.flags & IWL_CMD_FAILED_MSK) { | 159 | if (res->hdr.flags & IWL_CMD_FAILED_MSK) { |
159 | IWL_ERR(priv, "Bad return from REPLY_ADD_STA (0x%08X)\n", | 160 | IWL_ERR(priv, "Bad return from REPLY_ADD_STA (0x%08X)\n", |
160 | res->hdr.flags); | 161 | res->hdr.flags); |
@@ -175,7 +176,7 @@ int iwl_send_add_sta(struct iwl_priv *priv, | |||
175 | } | 176 | } |
176 | 177 | ||
177 | priv->alloc_rxb_skb--; | 178 | priv->alloc_rxb_skb--; |
178 | dev_kfree_skb_any(cmd.meta.u.skb); | 179 | dev_kfree_skb_any(cmd.reply_skb); |
179 | 180 | ||
180 | return ret; | 181 | return ret; |
181 | } | 182 | } |
@@ -325,7 +326,8 @@ static void iwl_sta_ucode_deactivate(struct iwl_priv *priv, const char *addr) | |||
325 | } | 326 | } |
326 | 327 | ||
327 | static int iwl_remove_sta_callback(struct iwl_priv *priv, | 328 | static int iwl_remove_sta_callback(struct iwl_priv *priv, |
328 | struct iwl_cmd *cmd, struct sk_buff *skb) | 329 | struct iwl_device_cmd *cmd, |
330 | struct sk_buff *skb) | ||
329 | { | 331 | { |
330 | struct iwl_rx_packet *res = NULL; | 332 | struct iwl_rx_packet *res = NULL; |
331 | struct iwl_rem_sta_cmd *rm_sta = | 333 | struct iwl_rem_sta_cmd *rm_sta = |
@@ -368,7 +370,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv, const u8 *addr, | |||
368 | struct iwl_host_cmd cmd = { | 370 | struct iwl_host_cmd cmd = { |
369 | .id = REPLY_REMOVE_STA, | 371 | .id = REPLY_REMOVE_STA, |
370 | .len = sizeof(struct iwl_rem_sta_cmd), | 372 | .len = sizeof(struct iwl_rem_sta_cmd), |
371 | .meta.flags = flags, | 373 | .flags = flags, |
372 | .data = &rm_sta_cmd, | 374 | .data = &rm_sta_cmd, |
373 | }; | 375 | }; |
374 | 376 | ||
@@ -377,15 +379,15 @@ static int iwl_send_remove_station(struct iwl_priv *priv, const u8 *addr, | |||
377 | memcpy(&rm_sta_cmd.addr, addr , ETH_ALEN); | 379 | memcpy(&rm_sta_cmd.addr, addr , ETH_ALEN); |
378 | 380 | ||
379 | if (flags & CMD_ASYNC) | 381 | if (flags & CMD_ASYNC) |
380 | cmd.meta.u.callback = iwl_remove_sta_callback; | 382 | cmd.callback = iwl_remove_sta_callback; |
381 | else | 383 | else |
382 | cmd.meta.flags |= CMD_WANT_SKB; | 384 | cmd.flags |= CMD_WANT_SKB; |
383 | ret = iwl_send_cmd(priv, &cmd); | 385 | ret = iwl_send_cmd(priv, &cmd); |
384 | 386 | ||
385 | if (ret || (flags & CMD_ASYNC)) | 387 | if (ret || (flags & CMD_ASYNC)) |
386 | return ret; | 388 | return ret; |
387 | 389 | ||
388 | res = (struct iwl_rx_packet *)cmd.meta.u.skb->data; | 390 | res = (struct iwl_rx_packet *)cmd.reply_skb->data; |
389 | if (res->hdr.flags & IWL_CMD_FAILED_MSK) { | 391 | if (res->hdr.flags & IWL_CMD_FAILED_MSK) { |
390 | IWL_ERR(priv, "Bad return from REPLY_REMOVE_STA (0x%08X)\n", | 392 | IWL_ERR(priv, "Bad return from REPLY_REMOVE_STA (0x%08X)\n", |
391 | res->hdr.flags); | 393 | res->hdr.flags); |
@@ -406,7 +408,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv, const u8 *addr, | |||
406 | } | 408 | } |
407 | 409 | ||
408 | priv->alloc_rxb_skb--; | 410 | priv->alloc_rxb_skb--; |
409 | dev_kfree_skb_any(cmd.meta.u.skb); | 411 | dev_kfree_skb_any(cmd.reply_skb); |
410 | 412 | ||
411 | return ret; | 413 | return ret; |
412 | } | 414 | } |
@@ -525,7 +527,7 @@ int iwl_send_static_wepkey_cmd(struct iwl_priv *priv, u8 send_if_empty) | |||
525 | struct iwl_host_cmd cmd = { | 527 | struct iwl_host_cmd cmd = { |
526 | .id = REPLY_WEPKEY, | 528 | .id = REPLY_WEPKEY, |
527 | .data = wep_cmd, | 529 | .data = wep_cmd, |
528 | .meta.flags = CMD_ASYNC, | 530 | .flags = CMD_ASYNC, |
529 | }; | 531 | }; |
530 | 532 | ||
531 | memset(wep_cmd, 0, cmd_size + | 533 | memset(wep_cmd, 0, cmd_size + |
@@ -930,7 +932,7 @@ int iwl_send_lq_cmd(struct iwl_priv *priv, | |||
930 | struct iwl_host_cmd cmd = { | 932 | struct iwl_host_cmd cmd = { |
931 | .id = REPLY_TX_LINK_QUALITY_CMD, | 933 | .id = REPLY_TX_LINK_QUALITY_CMD, |
932 | .len = sizeof(struct iwl_link_quality_cmd), | 934 | .len = sizeof(struct iwl_link_quality_cmd), |
933 | .meta.flags = flags, | 935 | .flags = flags, |
934 | .data = lq, | 936 | .data = lq, |
935 | }; | 937 | }; |
936 | 938 | ||