]> err.no Git - linux-2.6/blobdiff - drivers/net/wireless/iwlwifi/iwl-5000.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
[linux-2.6] / drivers / net / wireless / iwlwifi / iwl-5000.c
index 75283fb9d5a875b5721014fb4d09fb21bba4a84d..717db0d5ffb3a84112ef4ce6ff41cc9d8bc90ba3 100644 (file)
@@ -807,11 +807,8 @@ static int iwl5000_alive_notify(struct iwl_priv *priv)
 
        iwl5000_send_Xtal_calib(priv);
 
-       if (priv->ucode_type == UCODE_RT) {
+       if (priv->ucode_type == UCODE_RT)
                iwl5000_send_calib_results(priv);
-               set_bit(STATUS_READY, &priv->status);
-               priv->is_open = 1;
-       }
 
        return 0;
 }
@@ -1281,9 +1278,9 @@ static void iwl5000_rx_reply_tx(struct iwl_priv *priv,
 
                iwl5000_tx_status_reply_tx(priv, agg, tx_resp, txq_id, index);
 
-               if ((tx_resp->frame_count == 1) && !iwl_is_tx_success(status)) {
-                       /* TODO: send BAR */
-               }
+               /* check if BAR is needed */
+               if ((tx_resp->frame_count == 1) && !iwl_is_tx_success(status))
+                       info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
 
                if (txq->q.read_ptr != (scd_ssn & 0xff)) {
                        int freed, ampdu_q;
@@ -1425,11 +1422,10 @@ static int  iwl5000_send_tx_power(struct iwl_priv *priv)
                                       NULL);
 }
 
-static void iwl5000_temperature(struct iwl_priv *priv,
-                               struct iwl_notif_statistics *stats)
+static void iwl5000_temperature(struct iwl_priv *priv)
 {
        /* store temperature from statistics (in Celsius) */
-       priv->temperature = le32_to_cpu(stats->general.temperature);
+       priv->temperature = le32_to_cpu(priv->statistics.general.temperature);
 }
 
 static struct iwl_hcmd_ops iwl5000_hcmd = {
@@ -1540,6 +1536,8 @@ module_param_named(queues_num50, iwl50_mod_params.num_of_queues, int, 0444);
 MODULE_PARM_DESC(queues_num50, "number of hw queues in 50xx series");
 module_param_named(qos_enable50, iwl50_mod_params.enable_qos, int, 0444);
 MODULE_PARM_DESC(qos_enable50, "enable all 50XX QoS functionality");
+module_param_named(11n_disable50, iwl50_mod_params.disable_11n, int, 0444);
+MODULE_PARM_DESC(11n_disable50, "disable 50XX 11n functionality");
 module_param_named(amsdu_size_8K50, iwl50_mod_params.amsdu_size_8K, int, 0444);
 MODULE_PARM_DESC(amsdu_size_8K50, "enable 8K amsdu size in 50XX series");
 module_param_named(fw_restart50, iwl50_mod_params.restart_fw, int, 0444);