Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 205934
b: refs/heads/master
c: e2e8649
h: refs/heads/master
v: v3
  • Loading branch information
Florian Schilhabel authored and Greg Kroah-Hartman committed Jul 22, 2010
1 parent 4bee2b0 commit f268851
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c9b4d3ea110bea625b9f014824d2dc479f3d0d97
refs/heads/master: e2e864931880d29551288a73fa243dfa5d56af88
53 changes: 38 additions & 15 deletions trunk/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,37 +183,60 @@ void init_mgmt_queue(struct ieee80211_device *ieee)
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)
{
PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
u8 rate;

// 2008/01/25 MH For broadcom, MGNT frame set as OFDM 6M.
if(pHTInfo->IOTAction & HT_IOT_ACT_MGNT_USE_CCK_6M)
rate = 0x0c;
if(pHTInfo->IOTAction & HT_IOT_ACT_WA_IOT_Broadcom)
{
rate = MgntQuery_TxRateExcludeCCKRates(ieee);
}
else
rate = ieee->basic_rate & 0x7f;

if(rate == 0){
// 2005.01.26, by rcnjko.
if(ieee->mode == IEEE_A||
ieee->mode== IEEE_N_5G||
(ieee->mode== IEEE_N_24G&&!pHTInfo->bCurSuppCCK))
rate = 0x0c;
else
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;
}

Expand Down

0 comments on commit f268851

Please sign in to comment.