Commit e2e86493 authored by Florian Schilhabel's avatar Florian Schilhabel Committed by Greg Kroah-Hartman

staging: rtl819su: update MgntQuery_MgntFrameTxRate()

Signed-off-by: default avatarFlorian Schilhabel <florian.c.schilhabel@googlemail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c9b4d3ea
...@@ -183,19 +183,53 @@ void init_mgmt_queue(struct ieee80211_device *ieee) ...@@ -183,19 +183,53 @@ void init_mgmt_queue(struct ieee80211_device *ieee)
ieee->mgmt_queue_tail = ieee->mgmt_queue_head = 0; ieee->mgmt_queue_tail = ieee->mgmt_queue_head = 0;
} }
u8
MgntQuery_TxRateExcludeCCKRates(struct ieee80211_device *ieee)
{
u16 i;
u8 QueryRate = 0;
u8 BasicRate;
for( i = 0; i < ieee->current_network.rates_len; i++)
{
BasicRate = ieee->current_network.rates[i]&0x7F;
if(!ieee80211_is_cck_rate(BasicRate))
{
if(QueryRate == 0)
{
QueryRate = BasicRate;
}
else
{
if(BasicRate < QueryRate)
{
QueryRate = BasicRate;
}
}
}
}
if(QueryRate == 0)
{
QueryRate = 12;
printk("No BasicRate found!!\n");
}
return QueryRate;
}
u8 MgntQuery_MgntFrameTxRate(struct ieee80211_device *ieee) u8 MgntQuery_MgntFrameTxRate(struct ieee80211_device *ieee)
{ {
PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo; PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
u8 rate; u8 rate;
// 2008/01/25 MH For broadcom, MGNT frame set as OFDM 6M. if(pHTInfo->IOTAction & HT_IOT_ACT_WA_IOT_Broadcom)
if(pHTInfo->IOTAction & HT_IOT_ACT_MGNT_USE_CCK_6M) {
rate = 0x0c; rate = MgntQuery_TxRateExcludeCCKRates(ieee);
}
else else
rate = ieee->basic_rate & 0x7f; rate = ieee->basic_rate & 0x7f;
if(rate == 0){ if(rate == 0){
// 2005.01.26, by rcnjko.
if(ieee->mode == IEEE_A|| if(ieee->mode == IEEE_A||
ieee->mode== IEEE_N_5G|| ieee->mode== IEEE_N_5G||
(ieee->mode== IEEE_N_24G&&!pHTInfo->bCurSuppCCK)) (ieee->mode== IEEE_N_24G&&!pHTInfo->bCurSuppCCK))
...@@ -203,17 +237,6 @@ u8 MgntQuery_MgntFrameTxRate(struct ieee80211_device *ieee) ...@@ -203,17 +237,6 @@ u8 MgntQuery_MgntFrameTxRate(struct ieee80211_device *ieee)
else else
rate = 0x02; rate = 0x02;
} }
/*
// Data rate of ProbeReq is already decided. Annie, 2005-03-31
if( pMgntInfo->bScanInProgress || (pMgntInfo->bDualModeScanStep!=0) )
{
if(pMgntInfo->dot11CurrentWirelessMode==WIRELESS_MODE_A)
rate = 0x0c;
else
rate = 0x02;
}
*/
return rate; return rate;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment