]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
iwlegacy: 3945: simplify calculations of retry limit
authorStanislaw Gruszka <sgruszka@redhat.com>
Fri, 23 Dec 2011 07:13:49 +0000 (08:13 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 4 Jan 2012 19:30:45 +0000 (14:30 -0500)
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlegacy/3945-mac.c
drivers/net/wireless/iwlegacy/3945.c
drivers/net/wireless/iwlegacy/3945.h

index daef6b58f6cc2b6425aa510adf25b8c5c4c99b3c..c8179756bf3c54654ce612a5166a23f4adad2e22 100644 (file)
@@ -570,8 +570,7 @@ il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
        /* TODO need this for burst mode later on */
        il3945_build_tx_cmd_basic(il, out_cmd, info, hdr, sta_id);
 
-       /* set is_hcca to 0; it probably will never be implemented */
-       il3945_hw_build_tx_cmd_rate(il, out_cmd, info, hdr, sta_id, 0);
+       il3945_hw_build_tx_cmd_rate(il, out_cmd, info, hdr, sta_id);
 
        /* Total # bytes to be transmitted */
        len = (u16) skb->len;
index 44a121167806ca450813a102fefbf8bcb34a1a09..1489b1573a6a3d62384a0e1b9f7fdbb490d71126 100644 (file)
@@ -680,13 +680,13 @@ il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
 void
 il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd,
                            struct ieee80211_tx_info *info,
-                           struct ieee80211_hdr *hdr, int sta_id, int tx_id)
+                           struct ieee80211_hdr *hdr, int sta_id)
 {
        u16 hw_value = ieee80211_get_tx_rate(il->hw, info)->hw_value;
        u16 rate_idx = min(hw_value & 0xffff, RATE_COUNT_3945 - 1);
        u16 rate_mask;
        int rate;
-       u8 rts_retry_limit;
+       const u8 rts_retry_limit = 7;
        u8 data_retry_limit;
        __le32 tx_flags;
        __le16 fc = hdr->frame_control;
@@ -705,15 +705,8 @@ il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd,
        else
                data_retry_limit = IL_DEFAULT_TX_RETRY;
        tx_cmd->data_retry_limit = data_retry_limit;
-
-       if (tx_id >= IL39_CMD_QUEUE_NUM)
-               rts_retry_limit = 3;
-       else
-               rts_retry_limit = 7;
-
-       if (data_retry_limit < rts_retry_limit)
-               rts_retry_limit = data_retry_limit;
-       tx_cmd->rts_retry_limit = rts_retry_limit;
+       /* Set retry limit on RTS packets */
+       tx_cmd->rts_retry_limit = min(data_retry_limit, rts_retry_limit);
 
        tx_cmd->rate = rate;
        tx_cmd->tx_flags = tx_flags;
index 970e5c3a410a2cb11332905b9878d3b9f5479405..9f42f79f87784127f46e5b06753abdefb9e5490f 100644 (file)
@@ -239,8 +239,7 @@ extern unsigned int il3945_hw_get_beacon_cmd(struct il_priv *il,
                                             u8 rate);
 void il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd,
                                 struct ieee80211_tx_info *info,
-                                struct ieee80211_hdr *hdr, int sta_id,
-                                int tx_id);
+                                struct ieee80211_hdr *hdr, int sta_id);
 extern int il3945_hw_reg_send_txpower(struct il_priv *il);
 extern int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power);
 extern void il3945_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb);