diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-05-04 10:50:38 -0400 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-05-13 13:31:52 -0400 |
commit | 3fa507386dc4cdf731344cb9361e9cca373cedb9 (patch) | |
tree | 3368a5e3f9dcb39039aafeab25165091c62c5f5b /drivers | |
parent | 6b86bd62a505a4a9739474f00f8088395b7a80ba (diff) |
iwlagn: prepare for multi-TB commands
In a subsequent patch, I want to make commands use
multiple TBs in a TFD. This is a simple change to
prepare the data structures for this, with as of
now still just a single TB supported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-2000.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-6000.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-calib.c | 12 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 12 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-sta.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-ucode.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-hcmd.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-led.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 12 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sv-open.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-tx.c | 6 |
14 files changed, 47 insertions, 46 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-2000.c b/drivers/net/wireless/iwlwifi/iwl-2000.c index 89b8da7a6c8b..9f34cd7b6399 100644 --- a/drivers/net/wireless/iwlwifi/iwl-2000.c +++ b/drivers/net/wireless/iwlwifi/iwl-2000.c | |||
@@ -195,9 +195,9 @@ static int iwl2030_hw_channel_switch(struct iwl_priv *priv, | |||
195 | struct ieee80211_vif *vif = ctx->vif; | 195 | struct ieee80211_vif *vif = ctx->vif; |
196 | struct iwl_host_cmd hcmd = { | 196 | struct iwl_host_cmd hcmd = { |
197 | .id = REPLY_CHANNEL_SWITCH, | 197 | .id = REPLY_CHANNEL_SWITCH, |
198 | .len = sizeof(cmd), | 198 | .len = { sizeof(cmd), }, |
199 | .flags = CMD_SYNC, | 199 | .flags = CMD_SYNC, |
200 | .data = &cmd, | 200 | .data = { &cmd, }, |
201 | }; | 201 | }; |
202 | 202 | ||
203 | cmd.band = priv->band == IEEE80211_BAND_2GHZ; | 203 | cmd.band = priv->band == IEEE80211_BAND_2GHZ; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 98f81df166e3..09751f2386cb 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -282,9 +282,9 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv, | |||
282 | struct ieee80211_vif *vif = ctx->vif; | 282 | struct ieee80211_vif *vif = ctx->vif; |
283 | struct iwl_host_cmd hcmd = { | 283 | struct iwl_host_cmd hcmd = { |
284 | .id = REPLY_CHANNEL_SWITCH, | 284 | .id = REPLY_CHANNEL_SWITCH, |
285 | .len = sizeof(cmd), | 285 | .len = { sizeof(cmd), }, |
286 | .flags = CMD_SYNC, | 286 | .flags = CMD_SYNC, |
287 | .data = &cmd, | 287 | .data = { &cmd, }, |
288 | }; | 288 | }; |
289 | 289 | ||
290 | cmd.band = priv->band == IEEE80211_BAND_2GHZ; | 290 | cmd.band = priv->band == IEEE80211_BAND_2GHZ; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index a7921f9a03c6..860c26e4836d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c | |||
@@ -221,9 +221,9 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv, | |||
221 | struct ieee80211_vif *vif = ctx->vif; | 221 | struct ieee80211_vif *vif = ctx->vif; |
222 | struct iwl_host_cmd hcmd = { | 222 | struct iwl_host_cmd hcmd = { |
223 | .id = REPLY_CHANNEL_SWITCH, | 223 | .id = REPLY_CHANNEL_SWITCH, |
224 | .len = sizeof(cmd), | 224 | .len = { sizeof(cmd), }, |
225 | .flags = CMD_SYNC, | 225 | .flags = CMD_SYNC, |
226 | .data = &cmd, | 226 | .data = { &cmd, }, |
227 | }; | 227 | }; |
228 | 228 | ||
229 | cmd.band = priv->band == IEEE80211_BAND_2GHZ; | 229 | cmd.band = priv->band == IEEE80211_BAND_2GHZ; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-calib.c b/drivers/net/wireless/iwlwifi/iwl-agn-calib.c index 0f6bb9b2e642..30e11c7c4144 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-calib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-calib.c | |||
@@ -93,8 +93,8 @@ int iwl_send_calib_results(struct iwl_priv *priv) | |||
93 | for (i = 0; i < IWL_CALIB_MAX; i++) { | 93 | for (i = 0; i < IWL_CALIB_MAX; i++) { |
94 | if ((BIT(i) & priv->hw_params.calib_init_cfg) && | 94 | if ((BIT(i) & priv->hw_params.calib_init_cfg) && |
95 | priv->calib_results[i].buf) { | 95 | priv->calib_results[i].buf) { |
96 | hcmd.len = priv->calib_results[i].buf_len; | 96 | hcmd.len[0] = priv->calib_results[i].buf_len; |
97 | hcmd.data = priv->calib_results[i].buf; | 97 | hcmd.data[0] = priv->calib_results[i].buf; |
98 | ret = iwl_send_cmd_sync(priv, &hcmd); | 98 | ret = iwl_send_cmd_sync(priv, &hcmd); |
99 | if (ret) { | 99 | if (ret) { |
100 | IWL_ERR(priv, "Error %d iteration %d\n", | 100 | IWL_ERR(priv, "Error %d iteration %d\n", |
@@ -456,9 +456,9 @@ static int iwl_sensitivity_write(struct iwl_priv *priv) | |||
456 | struct iwl_sensitivity_data *data = NULL; | 456 | struct iwl_sensitivity_data *data = NULL; |
457 | struct iwl_host_cmd cmd_out = { | 457 | struct iwl_host_cmd cmd_out = { |
458 | .id = SENSITIVITY_CMD, | 458 | .id = SENSITIVITY_CMD, |
459 | .len = sizeof(struct iwl_sensitivity_cmd), | 459 | .len = { sizeof(struct iwl_sensitivity_cmd), }, |
460 | .flags = CMD_ASYNC, | 460 | .flags = CMD_ASYNC, |
461 | .data = &cmd, | 461 | .data = { &cmd, }, |
462 | }; | 462 | }; |
463 | 463 | ||
464 | data = &(priv->sensitivity_data); | 464 | data = &(priv->sensitivity_data); |
@@ -491,9 +491,9 @@ static int iwl_enhance_sensitivity_write(struct iwl_priv *priv) | |||
491 | struct iwl_sensitivity_data *data = NULL; | 491 | struct iwl_sensitivity_data *data = NULL; |
492 | struct iwl_host_cmd cmd_out = { | 492 | struct iwl_host_cmd cmd_out = { |
493 | .id = SENSITIVITY_CMD, | 493 | .id = SENSITIVITY_CMD, |
494 | .len = sizeof(struct iwl_enhance_sensitivity_cmd), | 494 | .len = { sizeof(struct iwl_enhance_sensitivity_cmd), }, |
495 | .flags = CMD_ASYNC, | 495 | .flags = CMD_ASYNC, |
496 | .data = &cmd, | 496 | .data = { &cmd, }, |
497 | }; | 497 | }; |
498 | 498 | ||
499 | data = &(priv->sensitivity_data); | 499 | data = &(priv->sensitivity_data); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c index 8e79653aed9a..576f45e9ab9f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |||
@@ -1140,7 +1140,7 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif) | |||
1140 | { | 1140 | { |
1141 | struct iwl_host_cmd cmd = { | 1141 | struct iwl_host_cmd cmd = { |
1142 | .id = REPLY_SCAN_CMD, | 1142 | .id = REPLY_SCAN_CMD, |
1143 | .len = sizeof(struct iwl_scan_cmd), | 1143 | .len = { sizeof(struct iwl_scan_cmd), }, |
1144 | .flags = CMD_SIZE_HUGE, | 1144 | .flags = CMD_SIZE_HUGE, |
1145 | }; | 1145 | }; |
1146 | struct iwl_scan_cmd *scan; | 1146 | struct iwl_scan_cmd *scan; |
@@ -1425,10 +1425,10 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif) | |||
1425 | return -EIO; | 1425 | return -EIO; |
1426 | } | 1426 | } |
1427 | 1427 | ||
1428 | cmd.len += le16_to_cpu(scan->tx_cmd.len) + | 1428 | cmd.len[0] += le16_to_cpu(scan->tx_cmd.len) + |
1429 | scan->channel_count * sizeof(struct iwl_scan_channel); | 1429 | scan->channel_count * sizeof(struct iwl_scan_channel); |
1430 | cmd.data = scan; | 1430 | cmd.data[0] = scan; |
1431 | scan->len = cpu_to_le16(cmd.len); | 1431 | scan->len = cpu_to_le16(cmd.len[0]); |
1432 | 1432 | ||
1433 | /* set scan bit here for PAN params */ | 1433 | /* set scan bit here for PAN params */ |
1434 | set_bit(STATUS_SCAN_HW, &priv->status); | 1434 | set_bit(STATUS_SCAN_HW, &priv->status); |
@@ -1520,9 +1520,9 @@ int iwlagn_txfifo_flush(struct iwl_priv *priv, u16 flush_control) | |||
1520 | struct iwl_txfifo_flush_cmd flush_cmd; | 1520 | struct iwl_txfifo_flush_cmd flush_cmd; |
1521 | struct iwl_host_cmd cmd = { | 1521 | struct iwl_host_cmd cmd = { |
1522 | .id = REPLY_TXFIFO_FLUSH, | 1522 | .id = REPLY_TXFIFO_FLUSH, |
1523 | .len = sizeof(struct iwl_txfifo_flush_cmd), | 1523 | .len = { sizeof(struct iwl_txfifo_flush_cmd), }, |
1524 | .flags = CMD_SYNC, | 1524 | .flags = CMD_SYNC, |
1525 | .data = &flush_cmd, | 1525 | .data = { &flush_cmd, }, |
1526 | }; | 1526 | }; |
1527 | 1527 | ||
1528 | might_sleep(); | 1528 | might_sleep(); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-sta.c b/drivers/net/wireless/iwlwifi/iwl-agn-sta.c index 079275f2c64d..0bd722cee5ae 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-sta.c | |||
@@ -144,7 +144,7 @@ static int iwl_send_static_wepkey_cmd(struct iwl_priv *priv, | |||
144 | size_t cmd_size = sizeof(struct iwl_wep_cmd); | 144 | size_t cmd_size = sizeof(struct iwl_wep_cmd); |
145 | struct iwl_host_cmd cmd = { | 145 | struct iwl_host_cmd cmd = { |
146 | .id = ctx->wep_key_cmd, | 146 | .id = ctx->wep_key_cmd, |
147 | .data = wep_cmd, | 147 | .data = { wep_cmd, }, |
148 | .flags = CMD_SYNC, | 148 | .flags = CMD_SYNC, |
149 | }; | 149 | }; |
150 | 150 | ||
@@ -172,7 +172,7 @@ static int iwl_send_static_wepkey_cmd(struct iwl_priv *priv, | |||
172 | 172 | ||
173 | cmd_size += sizeof(struct iwl_wep_key) * WEP_KEYS_MAX; | 173 | cmd_size += sizeof(struct iwl_wep_key) * WEP_KEYS_MAX; |
174 | 174 | ||
175 | cmd.len = cmd_size; | 175 | cmd.len[0] = cmd_size; |
176 | 176 | ||
177 | if (not_empty || send_if_empty) | 177 | if (not_empty || send_if_empty) |
178 | return iwl_send_cmd(priv, &cmd); | 178 | return iwl_send_cmd(priv, &cmd); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c index 8bda0e8d6661..e35755c577db 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c | |||
@@ -217,8 +217,8 @@ static int iwlagn_send_calib_cfg(struct iwl_priv *priv) | |||
217 | struct iwl_calib_cfg_cmd calib_cfg_cmd; | 217 | struct iwl_calib_cfg_cmd calib_cfg_cmd; |
218 | struct iwl_host_cmd cmd = { | 218 | struct iwl_host_cmd cmd = { |
219 | .id = CALIBRATION_CFG_CMD, | 219 | .id = CALIBRATION_CFG_CMD, |
220 | .len = sizeof(struct iwl_calib_cfg_cmd), | 220 | .len = { sizeof(struct iwl_calib_cfg_cmd), }, |
221 | .data = &calib_cfg_cmd, | 221 | .data = { &calib_cfg_cmd, }, |
222 | }; | 222 | }; |
223 | 223 | ||
224 | memset(&calib_cfg_cmd, 0, sizeof(calib_cfg_cmd)); | 224 | memset(&calib_cfg_cmd, 0, sizeof(calib_cfg_cmd)); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 3ecc3198d9bf..2713081ed996 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -189,8 +189,8 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv) | |||
189 | rate_flags); | 189 | rate_flags); |
190 | 190 | ||
191 | /* Submit command */ | 191 | /* Submit command */ |
192 | cmd.len = sizeof(*tx_beacon_cmd) + frame_size; | 192 | cmd.len[0] = sizeof(*tx_beacon_cmd) + frame_size; |
193 | cmd.data = tx_beacon_cmd; | 193 | cmd.data[0] = tx_beacon_cmd; |
194 | 194 | ||
195 | err = iwl_send_cmd_sync(priv, &cmd); | 195 | err = iwl_send_cmd_sync(priv, &cmd); |
196 | 196 | ||
@@ -2114,8 +2114,8 @@ static int iwlagn_send_calib_cfg_rt(struct iwl_priv *priv, u32 cfg) | |||
2114 | struct iwl_calib_cfg_cmd calib_cfg_cmd; | 2114 | struct iwl_calib_cfg_cmd calib_cfg_cmd; |
2115 | struct iwl_host_cmd cmd = { | 2115 | struct iwl_host_cmd cmd = { |
2116 | .id = CALIBRATION_CFG_CMD, | 2116 | .id = CALIBRATION_CFG_CMD, |
2117 | .len = sizeof(struct iwl_calib_cfg_cmd), | 2117 | .len = { sizeof(struct iwl_calib_cfg_cmd), }, |
2118 | .data = &calib_cfg_cmd, | 2118 | .data = { &calib_cfg_cmd, }, |
2119 | }; | 2119 | }; |
2120 | 2120 | ||
2121 | memset(&calib_cfg_cmd, 0, sizeof(calib_cfg_cmd)); | 2121 | memset(&calib_cfg_cmd, 0, sizeof(calib_cfg_cmd)); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 214e4658c495..9daf96490f63 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -277,15 +277,16 @@ struct iwl_device_cmd { | |||
277 | 277 | ||
278 | #define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_device_cmd)) | 278 | #define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_device_cmd)) |
279 | 279 | ||
280 | #define IWL_MAX_CMD_TFDS 1 | ||
280 | 281 | ||
281 | struct iwl_host_cmd { | 282 | struct iwl_host_cmd { |
282 | const void *data; | 283 | const void *data[IWL_MAX_CMD_TFDS]; |
283 | unsigned long reply_page; | 284 | unsigned long reply_page; |
284 | void (*callback)(struct iwl_priv *priv, | 285 | void (*callback)(struct iwl_priv *priv, |
285 | struct iwl_device_cmd *cmd, | 286 | struct iwl_device_cmd *cmd, |
286 | struct iwl_rx_packet *pkt); | 287 | struct iwl_rx_packet *pkt); |
287 | u32 flags; | 288 | u32 flags; |
288 | u16 len; | 289 | u16 len[IWL_MAX_CMD_TFDS]; |
289 | u8 id; | 290 | u8 id; |
290 | }; | 291 | }; |
291 | 292 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-hcmd.c index 8f0beb992ccf..1ff1f31250c3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-hcmd.c +++ b/drivers/net/wireless/iwlwifi/iwl-hcmd.c | |||
@@ -264,8 +264,8 @@ int iwl_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len, const void *data) | |||
264 | { | 264 | { |
265 | struct iwl_host_cmd cmd = { | 265 | struct iwl_host_cmd cmd = { |
266 | .id = id, | 266 | .id = id, |
267 | .len = len, | 267 | .len = { len, }, |
268 | .data = data, | 268 | .data = { data, }, |
269 | }; | 269 | }; |
270 | 270 | ||
271 | return iwl_send_cmd_sync(priv, &cmd); | 271 | return iwl_send_cmd_sync(priv, &cmd); |
@@ -279,8 +279,8 @@ int iwl_send_cmd_pdu_async(struct iwl_priv *priv, | |||
279 | { | 279 | { |
280 | struct iwl_host_cmd cmd = { | 280 | struct iwl_host_cmd cmd = { |
281 | .id = id, | 281 | .id = id, |
282 | .len = len, | 282 | .len = { len, }, |
283 | .data = data, | 283 | .data = { data, }, |
284 | }; | 284 | }; |
285 | 285 | ||
286 | cmd.flags |= CMD_ASYNC; | 286 | cmd.flags |= CMD_ASYNC; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-led.c b/drivers/net/wireless/iwlwifi/iwl-led.c index 439187f903c9..7c23beb49d7c 100644 --- a/drivers/net/wireless/iwlwifi/iwl-led.c +++ b/drivers/net/wireless/iwlwifi/iwl-led.c | |||
@@ -107,8 +107,8 @@ static int iwl_send_led_cmd(struct iwl_priv *priv, struct iwl_led_cmd *led_cmd) | |||
107 | { | 107 | { |
108 | struct iwl_host_cmd cmd = { | 108 | struct iwl_host_cmd cmd = { |
109 | .id = REPLY_LEDS_CMD, | 109 | .id = REPLY_LEDS_CMD, |
110 | .len = sizeof(struct iwl_led_cmd), | 110 | .len = { sizeof(struct iwl_led_cmd), }, |
111 | .data = led_cmd, | 111 | .data = { led_cmd, }, |
112 | .flags = CMD_ASYNC, | 112 | .flags = CMD_ASYNC, |
113 | .callback = NULL, | 113 | .callback = NULL, |
114 | }; | 114 | }; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index 3c8cebde16cc..7df2814fd4f8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -141,7 +141,7 @@ int iwl_send_add_sta(struct iwl_priv *priv, | |||
141 | struct iwl_host_cmd cmd = { | 141 | struct iwl_host_cmd cmd = { |
142 | .id = REPLY_ADD_STA, | 142 | .id = REPLY_ADD_STA, |
143 | .flags = flags, | 143 | .flags = flags, |
144 | .data = data, | 144 | .data = { data, }, |
145 | }; | 145 | }; |
146 | u8 sta_id __maybe_unused = sta->sta.sta_id; | 146 | u8 sta_id __maybe_unused = sta->sta.sta_id; |
147 | 147 | ||
@@ -155,7 +155,7 @@ int iwl_send_add_sta(struct iwl_priv *priv, | |||
155 | might_sleep(); | 155 | might_sleep(); |
156 | } | 156 | } |
157 | 157 | ||
158 | cmd.len = priv->cfg->ops->utils->build_addsta_hcmd(sta, data); | 158 | cmd.len[0] = priv->cfg->ops->utils->build_addsta_hcmd(sta, data); |
159 | ret = iwl_send_cmd(priv, &cmd); | 159 | ret = iwl_send_cmd(priv, &cmd); |
160 | 160 | ||
161 | if (ret || (flags & CMD_ASYNC)) | 161 | if (ret || (flags & CMD_ASYNC)) |
@@ -401,9 +401,9 @@ static int iwl_send_remove_station(struct iwl_priv *priv, | |||
401 | 401 | ||
402 | struct iwl_host_cmd cmd = { | 402 | struct iwl_host_cmd cmd = { |
403 | .id = REPLY_REMOVE_STA, | 403 | .id = REPLY_REMOVE_STA, |
404 | .len = sizeof(struct iwl_rem_sta_cmd), | 404 | .len = { sizeof(struct iwl_rem_sta_cmd), }, |
405 | .flags = CMD_SYNC, | 405 | .flags = CMD_SYNC, |
406 | .data = &rm_sta_cmd, | 406 | .data = { &rm_sta_cmd, }, |
407 | }; | 407 | }; |
408 | 408 | ||
409 | memset(&rm_sta_cmd, 0, sizeof(rm_sta_cmd)); | 409 | memset(&rm_sta_cmd, 0, sizeof(rm_sta_cmd)); |
@@ -760,9 +760,9 @@ int iwl_send_lq_cmd(struct iwl_priv *priv, struct iwl_rxon_context *ctx, | |||
760 | 760 | ||
761 | struct iwl_host_cmd cmd = { | 761 | struct iwl_host_cmd cmd = { |
762 | .id = REPLY_TX_LINK_QUALITY_CMD, | 762 | .id = REPLY_TX_LINK_QUALITY_CMD, |
763 | .len = sizeof(struct iwl_link_quality_cmd), | 763 | .len = { sizeof(struct iwl_link_quality_cmd), }, |
764 | .flags = flags, | 764 | .flags = flags, |
765 | .data = lq, | 765 | .data = { lq, }, |
766 | }; | 766 | }; |
767 | 767 | ||
768 | if (WARN_ON(lq->sta_id == IWL_INVALID_STATION)) | 768 | if (WARN_ON(lq->sta_id == IWL_INVALID_STATION)) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-sv-open.c b/drivers/net/wireless/iwlwifi/iwl-sv-open.c index 89b6696622c1..01a8ec9cd6b2 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sv-open.c +++ b/drivers/net/wireless/iwlwifi/iwl-sv-open.c | |||
@@ -198,10 +198,10 @@ static int iwl_testmode_ucode(struct ieee80211_hw *hw, struct nlattr **tb) | |||
198 | } | 198 | } |
199 | 199 | ||
200 | cmd.id = nla_get_u8(tb[IWL_TM_ATTR_UCODE_CMD_ID]); | 200 | cmd.id = nla_get_u8(tb[IWL_TM_ATTR_UCODE_CMD_ID]); |
201 | cmd.data = nla_data(tb[IWL_TM_ATTR_UCODE_CMD_DATA]); | 201 | cmd.data[0] = nla_data(tb[IWL_TM_ATTR_UCODE_CMD_DATA]); |
202 | cmd.len = nla_len(tb[IWL_TM_ATTR_UCODE_CMD_DATA]); | 202 | cmd.len[0] = nla_len(tb[IWL_TM_ATTR_UCODE_CMD_DATA]); |
203 | IWL_INFO(priv, "testmode ucode command ID 0x%x, flags 0x%x," | 203 | IWL_INFO(priv, "testmode ucode command ID 0x%x, flags 0x%x," |
204 | " len %d\n", cmd.id, cmd.flags, cmd.len); | 204 | " len %d\n", cmd.id, cmd.flags, cmd.len[0]); |
205 | /* ok, let's submit the command to ucode */ | 205 | /* ok, let's submit the command to ucode */ |
206 | return iwl_send_cmd(priv, &cmd); | 206 | return iwl_send_cmd(priv, &cmd); |
207 | } | 207 | } |
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c index e69597ea43e2..7843195efb05 100644 --- a/drivers/net/wireless/iwlwifi/iwl-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-tx.c | |||
@@ -446,7 +446,7 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd) | |||
446 | u16 fix_size; | 446 | u16 fix_size; |
447 | bool is_ct_kill = false; | 447 | bool is_ct_kill = false; |
448 | 448 | ||
449 | fix_size = (u16)(cmd->len + sizeof(out_cmd->hdr)); | 449 | fix_size = (u16)(cmd->len[0] + sizeof(out_cmd->hdr)); |
450 | 450 | ||
451 | /* | 451 | /* |
452 | * If any of the command structures end up being larger than | 452 | * If any of the command structures end up being larger than |
@@ -506,7 +506,7 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd) | |||
506 | out_meta->callback = cmd->callback; | 506 | out_meta->callback = cmd->callback; |
507 | 507 | ||
508 | out_cmd->hdr.cmd = cmd->id; | 508 | out_cmd->hdr.cmd = cmd->id; |
509 | memcpy(&out_cmd->cmd.payload, cmd->data, cmd->len); | 509 | memcpy(&out_cmd->cmd.payload, cmd->data[0], cmd->len[0]); |
510 | 510 | ||
511 | /* At this point, the out_cmd now has all of the incoming cmd | 511 | /* At this point, the out_cmd now has all of the incoming cmd |
512 | * information */ | 512 | * information */ |
@@ -555,7 +555,7 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd) | |||
555 | 555 | ||
556 | priv->cfg->ops->lib->txq_attach_buf_to_tfd(priv, txq, | 556 | priv->cfg->ops->lib->txq_attach_buf_to_tfd(priv, txq, |
557 | phys_addr, fix_size, 1, | 557 | phys_addr, fix_size, 1, |
558 | U32_PAD(cmd->len)); | 558 | U32_PAD(cmd->len[0])); |
559 | 559 | ||
560 | /* Increment and update queue's write index */ | 560 | /* Increment and update queue's write index */ |
561 | q->write_ptr = iwl_queue_inc_wrap(q->write_ptr, q->n_bd); | 561 | q->write_ptr = iwl_queue_inc_wrap(q->write_ptr, q->n_bd); |