rt2x00dev->curr_band = conf->channel->band;
        rt2x00dev->tx_power = conf->power_level;
+       rt2x00dev->short_retry = conf->short_frame_max_tx_count;
+       rt2x00dev->long_retry = conf->long_frame_max_tx_count;
 
        rt2x00dev->rx_status.band = conf->channel->band;
        rt2x00dev->rx_status.freq = conf->channel->center_freq;
 
         * Determine retry information.
         */
        txdesc->retry_limit = tx_info->control.rates[0].count - 1;
-       /*
-        * XXX: If at this point we knew whether the HW is going to use
-        *      the RETRY_MODE bit or the retry_limit (currently all
-        *      use the RETRY_MODE bit) we could do something like b43
-        *      does, set the RETRY_MODE bit when the RC algorithm is
-        *      requesting more than the long retry limit.
-        */
-       if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS)
+       if (txdesc->retry_limit >= rt2x00dev->long_retry)
                __set_bit(ENTRY_TXD_RETRY_MODE, &txdesc->flags);
 
        /*