aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c45
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h2
2 files changed, 28 insertions, 19 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index 9ef4468327af..7e525ad45135 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -428,28 +428,37 @@ static int iwl5000_send_calib_results(struct iwl_priv *priv)
428{ 428{
429 int ret = 0; 429 int ret = 0;
430 430
431 if (priv->calib_results.lo_res) 431 struct iwl_host_cmd hcmd = {
432 ret = iwl_send_cmd_pdu(priv, REPLY_PHY_CALIBRATION_CMD, 432 .id = REPLY_PHY_CALIBRATION_CMD,
433 priv->calib_results.lo_res_len, 433 .meta.flags = CMD_SIZE_HUGE,
434 priv->calib_results.lo_res); 434 };
435 if (ret)
436 goto err;
437 435
436 if (priv->calib_results.lo_res) {
437 hcmd.len = priv->calib_results.lo_res_len;
438 hcmd.data = priv->calib_results.lo_res;
439 ret = iwl_send_cmd_sync(priv, &hcmd);
438 440
439 if (priv->calib_results.tx_iq_res) 441 if (ret)
440 ret = iwl_send_cmd_pdu(priv, REPLY_PHY_CALIBRATION_CMD, 442 goto err;
441 priv->calib_results.tx_iq_res_len, 443 }
442 priv->calib_results.tx_iq_res);
443 444
444 if (ret) 445 if (priv->calib_results.tx_iq_res) {
445 goto err; 446 hcmd.len = priv->calib_results.tx_iq_res_len;
447 hcmd.data = priv->calib_results.tx_iq_res;
448 ret = iwl_send_cmd_sync(priv, &hcmd);
446 449
447 if (priv->calib_results.tx_iq_perd_res) 450 if (ret)
448 ret = iwl_send_cmd_pdu(priv, REPLY_PHY_CALIBRATION_CMD, 451 goto err;
449 priv->calib_results.tx_iq_perd_res_len, 452 }
450 priv->calib_results.tx_iq_perd_res); 453
451 if (ret) 454 if (priv->calib_results.tx_iq_perd_res) {
452 goto err; 455 hcmd.len = priv->calib_results.tx_iq_perd_res_len;
456 hcmd.data = priv->calib_results.tx_iq_perd_res;
457 ret = iwl_send_cmd_sync(priv, &hcmd);
458
459 if (ret)
460 goto err;
461 }
453 462
454 return 0; 463 return 0;
455err: 464err:
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index a2b98179117e..802f1a12b1aa 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -307,7 +307,7 @@ struct iwl_cmd_meta {
307 307
308} __attribute__ ((packed)); 308} __attribute__ ((packed));
309 309
310#define IWL_CMD_MAX_PAYLOAD 640 310#define IWL_CMD_MAX_PAYLOAD 320
311 311
312/** 312/**
313 * struct iwl_cmd 313 * struct iwl_cmd