Search Linux Wireless

Re: [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


> diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
> index 1056c92..5a40760 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00ht.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
> @@ -35,6 +35,7 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
>  {
>        struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
>        struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
> +       struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)entry->skb->data;
>
>        if (tx_info->control.sta)
>                txdesc->mpdu_density =
> @@ -66,4 +67,20 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
>                __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
>        if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
>                __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
> +
> +       /*
> +        * Determine IFS values
> +        * - Use TXOP_BACKOFF for management frames
> +        * - Use TXOP_SIFS for fragment bursts
> +        * - Use TXOP_HTTXOP for everything else
> +        *
> +        * Note: rt2800 devices won't use CTS protection (if used)
> +        * for frames not transmitted with TXOP_HTTXOP
> +        */
> +       if (ieee80211_is_mgmt(hdr->frame_control))
> +               txdesc->txop = TXOP_BACKOFF;
> +       else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
> +               txdesc->txop = TXOP_SIFS;
> +       else
> +               txdesc->txop = TXOP_HTTXOP;

I can't check it right now, but I am sure this function contains
exactly the same checks
for determining the correct ifs value. It would be easier to move the
assignment to txop
to the same if-statements.

Ivo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux