Search Linux Wireless

Re: [RFC 2/2] ath9k: get rid of tx_info_priv

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

 



On Fri, Nov 13, 2009 at 6:06 PM, Luis R. Rodriguez <mcgrof@xxxxxxxxx> wrote:
> On Fri, Nov 13, 2009 at 4:51 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
>> This patch removes the need for separately allocated private tx info
>> data in ath9k and brings the driver one small step closer to using the
>> mac80211 rate control API properly.
>>
>> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
>
> Thanks for doing this! Comments below.
>
>> @@ -1301,23 +1298,30 @@ static void ath_tx_status(void *priv, st
>
> < ... >
>
>>        hdr = (struct ieee80211_hdr *)skb->data;
>>        fc = hdr->frame_control;
>> -       tx_info_priv = ATH_TX_INFO_PRIV(tx_info);
>> -       final_ts_idx = tx_info_priv->tx.ts_rateindex;
>> +       for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) {
>> +               struct ieee80211_tx_rate *rate = &tx_info->status.rates[i];
>> +               if (!rate->count)
>> +                       break;
>> +
>> +               final_ts_idx = i;
>> +               long_retry = rate->count - 1;
>> +       }
>>
>
> This seems to be the only trade off, doing a loop on tx complete but I
> think I'm willing to trade that for the kmalloc()/kfree() removal.
>
> Reviewed-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>

Oh and can you add an unlikely for this:

-       else
+       if (tx_info->driver_flags & ATH_TX_INFO_FRAME_TYPE_INTERNAL)
                ath9k_tx_status(hw, skb);
+       else
+               ieee80211_tx_status(hw, skb);
 }

Thanks!

  Luis
--
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