Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
966aeb32
Commit
966aeb32
authored
Aug 12, 2011
by
Larry Finger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
staging: rtl8192e: Fix sparse (non-endian) messages - Part I
Signed-off-by:
Larry Finger
<
Larry.Finger@lwfinger.net
>
parent
438812c3
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
104 additions
and
275 deletions
+104
-275
drivers/staging/rtl8192e/rtl819x_BAProc.c
drivers/staging/rtl8192e/rtl819x_BAProc.c
+12
-12
drivers/staging/rtl8192e/rtl819x_HTProc.c
drivers/staging/rtl8192e/rtl819x_HTProc.c
+13
-156
drivers/staging/rtl8192e/rtl819x_TSProc.c
drivers/staging/rtl8192e/rtl819x_TSProc.c
+18
-17
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
+1
-1
drivers/staging/rtl8192e/rtllib_module.c
drivers/staging/rtl8192e/rtllib_module.c
+3
-6
drivers/staging/rtl8192e/rtllib_softmac.c
drivers/staging/rtl8192e/rtllib_softmac.c
+42
-69
drivers/staging/rtl8192e/rtllib_tx.c
drivers/staging/rtl8192e/rtllib_tx.c
+15
-14
No files found.
drivers/staging/rtl8192e/rtl819x_BAProc.c
View file @
966aeb32
...
...
@@ -20,21 +20,21 @@
#include "rtl819x_BA.h"
#include "rtl_core.h"
void
ActivateBAEntry
(
struct
rtllib_device
*
ieee
,
struct
ba_record
*
pBA
,
u16
Time
)
static
void
ActivateBAEntry
(
struct
rtllib_device
*
ieee
,
struct
ba_record
*
pBA
,
u16
Time
)
{
pBA
->
bValid
=
true
;
if
(
Time
!=
0
)
mod_timer
(
&
pBA
->
Timer
,
jiffies
+
MSECS
(
Time
));
}
void
DeActivateBAEntry
(
struct
rtllib_device
*
ieee
,
struct
ba_record
*
pBA
)
static
void
DeActivateBAEntry
(
struct
rtllib_device
*
ieee
,
struct
ba_record
*
pBA
)
{
pBA
->
bValid
=
false
;
del_timer_sync
(
&
pBA
->
Timer
);
}
u8
TxTsDeleteBA
(
struct
rtllib_device
*
ieee
,
struct
tx_ts_record
*
pTxTs
)
static
u8
TxTsDeleteBA
(
struct
rtllib_device
*
ieee
,
struct
tx_ts_record
*
pTxTs
)
{
struct
ba_record
*
pAdmittedBa
=
&
pTxTs
->
TxAdmittedBARecord
;
struct
ba_record
*
pPendingBa
=
&
pTxTs
->
TxPendingBARecord
;
...
...
@@ -52,7 +52,7 @@ u8 TxTsDeleteBA(struct rtllib_device *ieee, struct tx_ts_record *pTxTs)
return
bSendDELBA
;
}
u8
RxTsDeleteBA
(
struct
rtllib_device
*
ieee
,
struct
rx_ts_record
*
pRxTs
)
static
u8
RxTsDeleteBA
(
struct
rtllib_device
*
ieee
,
struct
rx_ts_record
*
pRxTs
)
{
struct
ba_record
*
pBa
=
&
pRxTs
->
RxAdmittedBARecord
;
u8
bSendDELBA
=
false
;
...
...
@@ -193,8 +193,8 @@ static struct sk_buff *rtllib_DELBA(struct rtllib_device *ieee, u8 *dst,
return
skb
;
}
void
rtllib_send_ADDBAReq
(
struct
rtllib_device
*
ieee
,
u8
*
dst
,
struct
ba_record
*
pBA
)
static
void
rtllib_send_ADDBAReq
(
struct
rtllib_device
*
ieee
,
u8
*
dst
,
struct
ba_record
*
pBA
)
{
struct
sk_buff
*
skb
=
NULL
;
skb
=
rtllib_ADDBA
(
ieee
,
dst
,
pBA
,
0
,
ACT_ADDBAREQ
);
...
...
@@ -209,8 +209,8 @@ void rtllib_send_ADDBAReq(struct rtllib_device *ieee, u8 *dst,
return
;
}
void
rtllib_send_ADDBARsp
(
struct
rtllib_device
*
ieee
,
u8
*
dst
,
struct
ba_record
*
pBA
,
u16
StatusCode
)
static
void
rtllib_send_ADDBARsp
(
struct
rtllib_device
*
ieee
,
u8
*
dst
,
struct
ba_record
*
pBA
,
u16
StatusCode
)
{
struct
sk_buff
*
skb
=
NULL
;
skb
=
rtllib_ADDBA
(
ieee
,
dst
,
pBA
,
StatusCode
,
ACT_ADDBARSP
);
...
...
@@ -222,9 +222,9 @@ void rtllib_send_ADDBARsp(struct rtllib_device *ieee, u8 *dst,
return
;
}
void
rtllib_send_DELBA
(
struct
rtllib_device
*
ieee
,
u8
*
dst
,
struct
ba_record
*
pBA
,
enum
tr_select
TxRxSelect
,
u16
ReasonCode
)
static
void
rtllib_send_DELBA
(
struct
rtllib_device
*
ieee
,
u8
*
dst
,
struct
ba_record
*
pBA
,
enum
tr_select
TxRxSelect
,
u16
ReasonCode
)
{
struct
sk_buff
*
skb
=
NULL
;
skb
=
rtllib_DELBA
(
ieee
,
dst
,
pBA
,
TxRxSelect
,
ReasonCode
);
...
...
drivers/staging/rtl8192e/rtl819x_HTProc.c
View file @
966aeb32
...
...
@@ -214,7 +214,7 @@ void HTDebugHTInfo(u8 *InfoIE, u8 *TitleString)
return
;
}
bool
IsHTHalfNmode40Bandwidth
(
struct
rtllib_device
*
ieee
)
static
bool
IsHTHalfNmode40Bandwidth
(
struct
rtllib_device
*
ieee
)
{
bool
retValue
=
false
;
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
...
...
@@ -233,7 +233,7 @@ bool IsHTHalfNmode40Bandwidth(struct rtllib_device *ieee)
return
retValue
;
}
bool
IsHTHalfNmodeSGI
(
struct
rtllib_device
*
ieee
,
bool
is40MHz
)
static
bool
IsHTHalfNmodeSGI
(
struct
rtllib_device
*
ieee
,
bool
is40MHz
)
{
bool
retValue
=
false
;
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
...
...
@@ -336,7 +336,7 @@ bool IsHTHalfNmodeAPs(struct rtllib_device *ieee)
return
retValue
;
}
void
HTIOTPeerDetermine
(
struct
rtllib_device
*
ieee
)
static
void
HTIOTPeerDetermine
(
struct
rtllib_device
*
ieee
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
struct
rtllib_network
*
net
=
&
ieee
->
current_network
;
...
...
@@ -378,40 +378,31 @@ void HTIOTPeerDetermine(struct rtllib_device *ieee)
pHTInfo
->
IOTPeer
);
}
u8
HTIOTActIsDisableMCS14
(
struct
rtllib_device
*
ieee
,
u8
*
PeerMacAddr
)
static
u8
HTIOTActIsDisableMCS14
(
struct
rtllib_device
*
ieee
,
u8
*
PeerMacAddr
)
{
return
0
;
}
bool
HTIOTActIsDisableMCS15
(
struct
rtllib_device
*
ieee
)
static
bool
HTIOTActIsDisableMCS15
(
struct
rtllib_device
*
ieee
)
{
bool
retValue
=
false
;
return
retValue
;
}
bool
HTIOTActIsDisableMCSTwoSpatialStream
(
struct
rtllib_device
*
ieee
)
static
bool
HTIOTActIsDisableMCSTwoSpatialStream
(
struct
rtllib_device
*
ieee
)
{
return
false
;
}
u8
HTIOTActIsDisableEDCATurbo
(
struct
rtllib_device
*
ieee
,
u8
*
PeerMacAddr
)
static
u8
HTIOTActIsDisableEDCATurbo
(
struct
rtllib_device
*
ieee
,
u8
*
PeerMacAddr
)
{
return
false
;
}
bool
HTIOTActIsEnableBETxOPLimit
(
struct
rtllib_device
*
ieee
)
{
bool
retValue
=
false
;
return
retValue
;
}
u8
HTIOTActIsMgntUseCCK6M
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
static
u8
HTIOTActIsMgntUseCCK6M
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
...
...
@@ -422,60 +413,7 @@ u8 HTIOTActIsMgntUseCCK6M(struct rtllib_device *ieee,
return
retValue
;
}
u8
HTIOTActWAIOTBroadcom
(
struct
rtllib_device
*
ieee
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
u8
retValue
=
false
;
u8
boundary
=
59
;
pHTInfo
->
bWAIotBroadcom
=
false
;
if
(
ieee
->
pHTInfo
->
IOTPeer
==
HT_IOT_PEER_BROADCOM
)
{
if
(
ieee
->
current_network
.
bssht
.
bdBandWidth
==
HT_CHANNEL_WIDTH_20_40
)
{
if
(
!
(
pHTInfo
->
bRegBW40MHz
))
{
if
(
ieee
->
current_network
.
mode
!=
WIRELESS_MODE_B
)
{
pHTInfo
->
bWAIotBroadcom
=
true
;
if
(
ieee
->
b_customer_lenovo_id
)
boundary
=
30
;
if
(
ieee
->
current_network
.
RSSI
>=
boundary
)
retValue
=
true
;
}
}
}
}
return
retValue
;
}
u8
HTIOTActIsForcedCTS2Self
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
if
(
ieee
->
pHTInfo
->
IOTPeer
==
HT_IOT_PEER_MARVELL
)
retValue
=
1
;
return
retValue
;
}
u8
HTIOTActIsForcedRTSCTS
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
u8
HTIOTActIsForcedAMSDU8K
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
u8
HTIOTActIsCCDFsync
(
struct
rtllib_device
*
ieee
)
static
u8
HTIOTActIsCCDFsync
(
struct
rtllib_device
*
ieee
)
{
u8
retValue
=
0
;
...
...
@@ -484,42 +422,7 @@ u8 HTIOTActIsCCDFsync(struct rtllib_device *ieee)
return
retValue
;
}
u8
HTIOCActRejcectADDBARequest
(
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
u8
HTIOTActIsEDCABiasRx
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
u8
HTIOTActDisableShortGI
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
if
(
pHTInfo
->
IOTPeer
==
HT_IOT_PEER_RALINK
)
retValue
=
1
;
return
retValue
;
}
u8
HTIOTActDisableHighPower
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
void
HTIOTActDetermineRaFunc
(
struct
rtllib_device
*
ieee
,
bool
bPeerRx2ss
)
static
void
HTIOTActDetermineRaFunc
(
struct
rtllib_device
*
ieee
,
bool
bPeerRx2ss
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
pHTInfo
->
IOTRaFunc
&=
HT_IOT_RAFUNC_DISABLE_ALL
;
...
...
@@ -532,52 +435,6 @@ void HTIOTActDetermineRaFunc(struct rtllib_device *ieee, bool bPeerRx2ss)
}
u8
HTIOTActIsDisableTx40MHz
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
u8
HTIOTActIsTxNoAggregation
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
u8
HTIOTActIsDisableTx2SS
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
u8
retValue
=
0
;
return
retValue
;
}
bool
HTIOCActIsDisableCckRate
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
bool
retValue
=
false
;
return
retValue
;
}
bool
HTIOCActAllowPeerAggOnePacket
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
bool
retValue
=
false
;
return
retValue
;
}
bool
HTIOTActIsNullDataPowerSaving
(
struct
rtllib_device
*
ieee
,
struct
rtllib_network
*
network
)
{
bool
retValue
=
false
;
return
retValue
;
}
void
HTResetIOTSetting
(
struct
rt_hi_throughput
*
pHTInfo
)
{
pHTInfo
->
IOTAction
=
0
;
...
...
@@ -735,7 +592,7 @@ void HTConstructRT2RTAggElement(struct rtllib_device *ieee, u8 *posRT2RTAgg,
return
;
}
u8
HT_PickMCSRate
(
struct
rtllib_device
*
ieee
,
u8
*
pOperateMCS
)
static
u8
HT_PickMCSRate
(
struct
rtllib_device
*
ieee
,
u8
*
pOperateMCS
)
{
u8
i
;
if
(
pOperateMCS
==
NULL
)
{
...
...
@@ -1148,7 +1005,7 @@ u8 HTCCheck(struct rtllib_device *ieee, u8 *pFrame)
return
false
;
}
void
HTSetConnectBwModeCallback
(
struct
rtllib_device
*
ieee
)
static
void
HTSetConnectBwModeCallback
(
struct
rtllib_device
*
ieee
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
...
...
drivers/staging/rtl8192e/rtl819x_TSProc.c
View file @
966aeb32
...
...
@@ -20,15 +20,15 @@
#include <linux/etherdevice.h>
#include "rtl819x_TS.h"
void
TsSetupTimeOut
(
unsigned
long
data
)
static
void
TsSetupTimeOut
(
unsigned
long
data
)
{
}
void
TsInactTimeout
(
unsigned
long
data
)
static
void
TsInactTimeout
(
unsigned
long
data
)
{
}
void
RxPktPendingTimeout
(
unsigned
long
data
)
static
void
RxPktPendingTimeout
(
unsigned
long
data
)
{
struct
rx_ts_record
*
pRxTs
=
(
struct
rx_ts_record
*
)
data
;
struct
rtllib_device
*
ieee
=
container_of
(
pRxTs
,
struct
rtllib_device
,
...
...
@@ -97,7 +97,7 @@ void RxPktPendingTimeout(unsigned long data)
spin_unlock_irqrestore
(
&
(
ieee
->
reorder_spinlock
),
flags
);
}
void
TsAddBaProcess
(
unsigned
long
data
)
static
void
TsAddBaProcess
(
unsigned
long
data
)
{
struct
tx_ts_record
*
pTxTs
=
(
struct
tx_ts_record
*
)
data
;
u8
num
=
pTxTs
->
num
;
...
...
@@ -109,7 +109,7 @@ void TsAddBaProcess(unsigned long data)
"started!!
\n
"
);
}
void
ResetTsCommonInfo
(
struct
ts_common_info
*
pTsCommonInfo
)
static
void
ResetTsCommonInfo
(
struct
ts_common_info
*
pTsCommonInfo
)
{
memset
(
pTsCommonInfo
->
Addr
,
0
,
6
);
memset
(
&
pTsCommonInfo
->
TSpec
,
0
,
sizeof
(
union
tspec_body
));
...
...
@@ -118,7 +118,7 @@ void ResetTsCommonInfo(struct ts_common_info *pTsCommonInfo)
pTsCommonInfo
->
TClasNum
=
0
;
}
void
ResetTxTsEntry
(
struct
tx_ts_record
*
pTS
)
static
void
ResetTxTsEntry
(
struct
tx_ts_record
*
pTS
)
{
ResetTsCommonInfo
(
&
pTS
->
TsCommonInfo
);
pTS
->
TxCurSeq
=
0
;
...
...
@@ -130,7 +130,7 @@ void ResetTxTsEntry(struct tx_ts_record *pTS)
ResetBaEntry
(
&
pTS
->
TxPendingBARecord
);
}
void
ResetRxTsEntry
(
struct
rx_ts_record
*
pTS
)
static
void
ResetRxTsEntry
(
struct
rx_ts_record
*
pTS
)
{
ResetTsCommonInfo
(
&
pTS
->
TsCommonInfo
);
pTS
->
RxIndicateSeq
=
0xffff
;
...
...
@@ -215,8 +215,8 @@ void TSInitialize(struct rtllib_device *ieee)
}
void
AdmitTS
(
struct
rtllib_device
*
ieee
,
struct
ts_common_info
*
pTsCommonInfo
,
u32
InactTime
)
static
void
AdmitTS
(
struct
rtllib_device
*
ieee
,
struct
ts_common_info
*
pTsCommonInfo
,
u32
InactTime
)
{
del_timer_sync
(
&
pTsCommonInfo
->
SetupTimer
);
del_timer_sync
(
&
pTsCommonInfo
->
InactTimer
);
...
...
@@ -226,11 +226,12 @@ void AdmitTS(struct rtllib_device *ieee, struct ts_common_info *pTsCommonInfo,
MSECS
(
InactTime
));
}
struct
ts_common_info
*
SearchAdmitTRStream
(
struct
rtllib_device
*
ieee
,
u8
*
Addr
,
u8
TID
,
enum
tr_select
TxRxSelect
)
static
struct
ts_common_info
*
SearchAdmitTRStream
(
struct
rtllib_device
*
ieee
,
u8
*
Addr
,
u8
TID
,
enum
tr_select
TxRxSelect
)
{
u8
dir
;
bool
search_dir
[
4
]
=
{
0
,
0
,
0
,
0
};
bool
search_dir
[
4
]
=
{
0
};
struct
list_head
*
psearch_list
;
struct
ts_common_info
*
pRet
=
NULL
;
if
(
ieee
->
iw_mode
==
IW_MODE_MASTER
)
{
...
...
@@ -283,9 +284,9 @@ struct ts_common_info *SearchAdmitTRStream(struct rtllib_device *ieee, u8 *Addr,
return
NULL
;
}
void
MakeTSEntry
(
struct
ts_common_info
*
pTsCommonInfo
,
u8
*
Addr
,
union
tspec_body
*
pTSPEC
,
union
qos_tclas
*
pTCLAS
,
u8
TCLAS_Num
,
u8
TCLAS_Proc
)
static
void
MakeTSEntry
(
struct
ts_common_info
*
pTsCommonInfo
,
u8
*
Addr
,
union
tspec_body
*
pTSPEC
,
union
qos_tclas
*
pTCLAS
,
u8
TCLAS_Num
,
u8
TCLAS_Proc
)
{
u8
count
;
...
...
@@ -418,8 +419,8 @@ bool GetTs(struct rtllib_device *ieee, struct ts_common_info **ppTS,
}
}
void
RemoveTsEntry
(
struct
rtllib_device
*
ieee
,
struct
ts_common_info
*
pTs
,
enum
tr_select
TxRxSelect
)
static
void
RemoveTsEntry
(
struct
rtllib_device
*
ieee
,
struct
ts_common_info
*
pTs
,
enum
tr_select
TxRxSelect
)
{
del_timer_sync
(
&
pTs
->
SetupTimer
);
del_timer_sync
(
&
pTs
->
InactTimer
);
...
...
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
View file @
966aeb32
...
...
@@ -53,7 +53,7 @@ struct rtllib_ccmp_data {
u8
rx_b0
[
AES_BLOCK_LEN
],
rx_b
[
AES_BLOCK_LEN
],
rx_a
[
AES_BLOCK_LEN
];
};
void
rtllib_ccmp_aes_encrypt
(
struct
crypto_tfm
*
tfm
,
static
void
rtllib_ccmp_aes_encrypt
(
struct
crypto_tfm
*
tfm
,
const
u8
pt
[
16
],
u8
ct
[
16
])
{
crypto_cipher_encrypt_one
((
void
*
)
tfm
,
ct
,
pt
);
...
...
drivers/staging/rtl8192e/rtllib_module.c
View file @
966aeb32
...
...
@@ -68,7 +68,7 @@ static inline int rtllib_networks_allocate(struct rtllib_device *ieee)
if
(
ieee
->
networks
)
return
0
;
ieee
->
networks
=
k
m
alloc
(
ieee
->
networks
=
k
z
alloc
(
MAX_NETWORK_COUNT
*
sizeof
(
struct
rtllib_network
),
GFP_KERNEL
);
if
(
!
ieee
->
networks
)
{
...
...
@@ -77,9 +77,6 @@ static inline int rtllib_networks_allocate(struct rtllib_device *ieee)
return
-
ENOMEM
;
}
memset
(
ieee
->
networks
,
0
,
MAX_NETWORK_COUNT
*
sizeof
(
struct
rtllib_network
));
return
0
;
}
...
...
@@ -223,7 +220,7 @@ u32 rtllib_debug_level;
static
int
debug
=
\
RTLLIB_DL_ERR
;
struct
proc_dir_entry
*
rtllib_proc
;
st
atic
st
ruct
proc_dir_entry
*
rtllib_proc
;
static
int
show_debug_level
(
char
*
page
,
char
**
start
,
off_t
offset
,
int
count
,
int
*
eof
,
void
*
data
)
...
...
@@ -231,7 +228,7 @@ static int show_debug_level(char *page, char **start, off_t offset,
return
snprintf
(
page
,
count
,
"0x%08X
\n
"
,
rtllib_debug_level
);
}
static
int
store_debug_level
(
struct
file
*
file
,
const
char
*
buffer
,
static
int
store_debug_level
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
char
buf
[]
=
"0x00000000"
;
...
...
drivers/staging/rtl8192e/rtllib_softmac.c
View file @
966aeb32
...
...
@@ -23,15 +23,6 @@
#include <linux/uaccess.h>
#include "dot11d.h"
u8
rsn_authen_cipher_suite
[
16
][
4
]
=
{
{
0x00
,
0x0F
,
0xAC
,
0x00
},
{
0x00
,
0x0F
,
0xAC
,
0x01
},
{
0x00
,
0x0F
,
0xAC
,
0x02
},
{
0x00
,
0x0F
,
0xAC
,
0x03
},
{
0x00
,
0x0F
,
0xAC
,
0x04
},
{
0x00
,
0x0F
,
0xAC
,
0x05
},
};
short
rtllib_is_54g
(
struct
rtllib_network
*
net
)
{
return
(
net
->
rates_ex_len
>
0
)
||
(
net
->
rates_len
>
4
);
...
...
@@ -46,7 +37,7 @@ short rtllib_is_shortslot(struct rtllib_network net)
* tag and the EXTENDED RATE MFIE tag if needed.
* It encludes two bytes per tag for the tag itself and its len
*/
unsigned
int
rtllib_MFIE_rate_len
(
struct
rtllib_device
*
ieee
)
static
unsigned
int
rtllib_MFIE_rate_len
(
struct
rtllib_device
*
ieee
)
{
unsigned
int
rate_len
=
0
;
...
...
@@ -64,7 +55,7 @@ unsigned int rtllib_MFIE_rate_len(struct rtllib_device *ieee)
* Then it updates the pointer so that
* it points after the new MFIE tag added.
*/
void
rtllib_MFIE_Brate
(
struct
rtllib_device
*
ieee
,
u8
**
tag_p
)
static
void
rtllib_MFIE_Brate
(
struct
rtllib_device
*
ieee
,
u8
**
tag_p
)
{
u8
*
tag
=
*
tag_p
;
...
...
@@ -82,7 +73,7 @@ void rtllib_MFIE_Brate(struct rtllib_device *ieee, u8 **tag_p)
*
tag_p
=
tag
;
}
void
rtllib_MFIE_Grate
(
struct
rtllib_device
*
ieee
,
u8
**
tag_p
)
static
void
rtllib_MFIE_Grate
(
struct
rtllib_device
*
ieee
,
u8
**
tag_p
)
{
u8
*
tag
=
*
tag_p
;
...
...
@@ -103,7 +94,7 @@ void rtllib_MFIE_Grate(struct rtllib_device *ieee, u8 **tag_p)
*
tag_p
=
tag
;
}
void
rtllib_WMM_Info
(
struct
rtllib_device
*
ieee
,
u8
**
tag_p
)
static
void
rtllib_WMM_Info
(
struct
rtllib_device
*
ieee
,
u8
**
tag_p
)
{
u8
*
tag
=
*
tag_p
;
...
...
@@ -137,7 +128,7 @@ void rtllib_TURBO_Info(struct rtllib_device *ieee, u8 **tag_p)
printk
(
KERN_ALERT
"This is enable turbo mode IE process
\n
"
);
}
void
enqueue_mgmt
(
struct
rtllib_device
*
ieee
,
struct
sk_buff
*
skb
)
static
void
enqueue_mgmt
(
struct
rtllib_device
*
ieee
,
struct
sk_buff
*
skb
)
{
int
nh
;
nh
=
(
ieee
->
mgmt_queue_head
+
1
)
%
MGMT_QUEUE_NUM
;
...
...
@@ -154,7 +145,7 @@ void enqueue_mgmt(struct rtllib_device *ieee, struct sk_buff *skb)
}
struct
sk_buff
*
dequeue_mgmt
(
struct
rtllib_device
*
ieee
)
st
atic
st
ruct
sk_buff
*
dequeue_mgmt
(
struct
rtllib_device
*
ieee
)
{
struct
sk_buff
*
ret
;
...
...
@@ -169,7 +160,7 @@ struct sk_buff *dequeue_mgmt(struct rtllib_device *ieee)
return
ret
;
}
void
init_mgmt_queue
(
struct
rtllib_device
*
ieee
)
static
void
init_mgmt_queue
(
struct
rtllib_device
*
ieee
)
{
ieee
->
mgmt_queue_tail
=
ieee
->
mgmt_queue_head
=
0
;
}
...
...
@@ -394,7 +385,7 @@ inline struct sk_buff *rtllib_probe_req(struct rtllib_device *ieee)
struct
sk_buff
*
rtllib_get_beacon_
(
struct
rtllib_device
*
ieee
);
void
rtllib_send_beacon
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_send_beacon
(
struct
rtllib_device
*
ieee
)
{
struct
sk_buff
*
skb
;
if
(
!
ieee
->
ieee_up
)
...
...
@@ -412,7 +403,7 @@ void rtllib_send_beacon(struct rtllib_device *ieee)
}
void
rtllib_send_beacon_cb
(
unsigned
long
_ieee
)
static
void
rtllib_send_beacon_cb
(
unsigned
long
_ieee
)
{
struct
rtllib_device
*
ieee
=
(
struct
rtllib_device
*
)
_ieee
;
...
...
@@ -500,7 +491,7 @@ void rtllib_DisableIntelPromiscuousMode(struct net_device *dev,
ieee
->
bNetPromiscuousMode
=
false
;
}
void
rtllib_send_probe
(
struct
rtllib_device
*
ieee
,
u8
is_mesh
)
static
void
rtllib_send_probe
(
struct
rtllib_device
*
ieee
,
u8
is_mesh
)
{
struct
sk_buff
*
skb
;
skb
=
rtllib_probe_req
(
ieee
);
...
...
@@ -520,7 +511,7 @@ void rtllib_send_probe_requests(struct rtllib_device *ieee, u8 is_mesh)
}
}
void
rtllib_softmac_hint11d_wq
(
void
*
data
)
static
void
rtllib_softmac_hint11d_wq
(
void
*
data
)
{
}
...
...
@@ -602,7 +593,7 @@ void rtllib_softmac_scan_syncro(struct rtllib_device *ieee, u8 is_mesh)
wireless_send_event
(
ieee
->
dev
,
SIOCGIWSCAN
,
&
wrqu
,
NULL
);
}
void
rtllib_softmac_scan_wq
(
void
*
data
)
static
void
rtllib_softmac_scan_wq
(
void
*
data
)
{
struct
rtllib_device
*
ieee
=
container_of_dwork_rsl
(
data
,
struct
rtllib_device
,
softmac_scan_wq
);
...
...
@@ -662,7 +653,7 @@ void rtllib_softmac_scan_wq(void *data)
void
rtllib_beacons_start
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_beacons_start
(
struct
rtllib_device
*
ieee
)
{
unsigned
long
flags
;
spin_lock_irqsave
(
&
ieee
->
beacon_lock
,
flags
);
...
...
@@ -673,7 +664,7 @@ void rtllib_beacons_start(struct rtllib_device *ieee)
spin_unlock_irqrestore
(
&
ieee
->
beacon_lock
,
flags
);
}
void
rtllib_beacons_stop
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_beacons_stop
(
struct
rtllib_device
*
ieee
)
{
unsigned
long
flags
;
...
...
@@ -705,7 +696,7 @@ void rtllib_start_send_beacons(struct rtllib_device *ieee)
}
void
rtllib_softmac_stop_scan
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_softmac_stop_scan
(
struct
rtllib_device
*
ieee
)
{
down
(
&
ieee
->
scan_sem
);
ieee
->
scan_watch_dog
=
0
;
...
...
@@ -752,7 +743,7 @@ bool rtllib_act_scanning(struct rtllib_device *ieee, bool sync_scan)
}
/* called with ieee->lock held */
void
rtllib_start_scan
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_start_scan
(
struct
rtllib_device
*
ieee
)
{
RT_TRACE
(
COMP_DBG
,
"===>%s()
\n
"
,
__func__
);
if
(
ieee
->
rtllib_ips_leave_wq
!=
NULL
)
...
...
@@ -831,24 +822,6 @@ inline struct sk_buff *rtllib_authentication_req(struct rtllib_network *beacon,
return
skb
;
}
void
constructWMMIE
(
u8
*
wmmie
,
u8
*
wmm_len
,
u8
oui_subtype
)
{
u8
szQoSOUI
[]
=
{
221
,
0
,
0x00
,
0x50
,
0xf2
,
0x02
,
0
,
1
};
if
(
oui_subtype
==
OUI_SUBTYPE_QOS_CAPABI
)
{
szQoSOUI
[
0
]
=
46
;
szQoSOUI
[
1
]
=
*
wmm_len
;
memcpy
(
wmmie
,
szQoSOUI
,
3
);
*
wmm_len
=
3
;
}
else
{
szQoSOUI
[
1
]
=
*
wmm_len
+
6
;
szQoSOUI
[
6
]
=
oui_subtype
;
memcpy
(
wmmie
,
szQoSOUI
,
8
);
*
(
wmmie
+
8
)
=
0
;
*
wmm_len
=
9
;
}
}
static
struct
sk_buff
*
rtllib_probe_resp
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
{
u8
*
tag
;
...
...
@@ -998,7 +971,7 @@ static struct sk_buff *rtllib_probe_resp(struct rtllib_device *ieee, u8 *dest)
return
skb
;
}
struct
sk_buff
*
rtllib_assoc_resp
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
st
atic
st
ruct
sk_buff
*
rtllib_assoc_resp
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
{
struct
sk_buff
*
skb
;
u8
*
tag
;
...
...
@@ -1057,7 +1030,7 @@ struct sk_buff *rtllib_assoc_resp(struct rtllib_device *ieee, u8 *dest)
return
skb
;
}
struct
sk_buff
*
rtllib_auth_resp
(
struct
rtllib_device
*
ieee
,
int
status
,
st
atic
st
ruct
sk_buff
*
rtllib_auth_resp
(
struct
rtllib_device
*
ieee
,
int
status
,
u8
*
dest
)
{
struct
sk_buff
*
skb
=
NULL
;
...
...
@@ -1087,7 +1060,7 @@ struct sk_buff *rtllib_auth_resp(struct rtllib_device *ieee, int status,
}
struct
sk_buff
*
rtllib_null_func
(
struct
rtllib_device
*
ieee
,
short
pwr
)
st
atic
st
ruct
sk_buff
*
rtllib_null_func
(
struct
rtllib_device
*
ieee
,
short
pwr
)
{
struct
sk_buff
*
skb
;
struct
rtllib_hdr_3addr
*
hdr
;
...
...
@@ -1114,7 +1087,7 @@ struct sk_buff *rtllib_null_func(struct rtllib_device *ieee, short pwr)
}
struct
sk_buff
*
rtllib_pspoll_func
(
struct
rtllib_device
*
ieee
)
st
atic
st
ruct
sk_buff
*
rtllib_pspoll_func
(
struct
rtllib_device
*
ieee
)
{
struct
sk_buff
*
skb
;
struct
rtllib_pspoll_hdr
*
hdr
;
...
...
@@ -1139,7 +1112,7 @@ struct sk_buff *rtllib_pspoll_func(struct rtllib_device *ieee)
}
void
rtllib_resp_to_assoc_rq
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
static
void
rtllib_resp_to_assoc_rq
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
{
struct
sk_buff
*
buf
=
rtllib_assoc_resp
(
ieee
,
dest
);
...
...
@@ -1148,7 +1121,7 @@ void rtllib_resp_to_assoc_rq(struct rtllib_device *ieee, u8 *dest)
}
void
rtllib_resp_to_auth
(
struct
rtllib_device
*
ieee
,
int
s
,
u8
*
dest
)
static
void
rtllib_resp_to_auth
(
struct
rtllib_device
*
ieee
,
int
s
,
u8
*
dest
)
{
struct
sk_buff
*
buf
=
rtllib_auth_resp
(
ieee
,
s
,
dest
);
...
...
@@ -1157,7 +1130,7 @@ void rtllib_resp_to_auth(struct rtllib_device *ieee, int s, u8 *dest)
}
void
rtllib_resp_to_probe
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
static
void
rtllib_resp_to_probe
(
struct
rtllib_device
*
ieee
,
u8
*
dest
)
{
struct
sk_buff
*
buf
=
rtllib_probe_resp
(
ieee
,
dest
);
...
...
@@ -1466,12 +1439,12 @@ void rtllib_associate_abort(struct rtllib_device *ieee)
spin_unlock_irqrestore
(
&
ieee
->
lock
,
flags
);
}
void
rtllib_associate_abort_cb
(
unsigned
long
dev
)
static
void
rtllib_associate_abort_cb
(
unsigned
long
dev
)
{
rtllib_associate_abort
((
struct
rtllib_device
*
)
dev
);
}
void
rtllib_associate_step1
(
struct
rtllib_device
*
ieee
,
u8
*
daddr
)
static
void
rtllib_associate_step1
(
struct
rtllib_device
*
ieee
,
u8
*
daddr
)
{
struct
rtllib_network
*
beacon
=
&
ieee
->
current_network
;
struct
sk_buff
*
skb
;
...
...
@@ -1495,7 +1468,7 @@ void rtllib_associate_step1(struct rtllib_device *ieee, u8 * daddr)
}
}
void
rtllib_auth_challenge
(
struct
rtllib_device
*
ieee
,
u8
*
challenge
,
int
chlen
)
static
void
rtllib_auth_challenge
(
struct
rtllib_device
*
ieee
,
u8
*
challenge
,
int
chlen
)
{
u8
*
c
;
struct
sk_buff
*
skb
;
...
...
@@ -1526,7 +1499,7 @@ void rtllib_auth_challenge(struct rtllib_device *ieee, u8 *challenge, int chlen)
kfree
(
challenge
);
}
void
rtllib_associate_step2
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_associate_step2
(
struct
rtllib_device
*
ieee
)
{
struct
sk_buff
*
skb
;
struct
rtllib_network
*
beacon
=
&
ieee
->
current_network
;
...
...
@@ -1546,7 +1519,7 @@ void rtllib_associate_step2(struct rtllib_device *ieee)
}
#define CANCELLED 2
void
rtllib_associate_complete_wq
(
void
*
data
)
static
void
rtllib_associate_complete_wq
(
void
*
data
)
{
struct
rtllib_device
*
ieee
=
(
struct
rtllib_device
*
)
container_of_work_rsl
(
data
,
...
...
@@ -1606,7 +1579,7 @@ static void rtllib_sta_send_associnfo(struct rtllib_device *ieee)
{
}
void
rtllib_associate_complete
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_associate_complete
(
struct
rtllib_device
*
ieee
)
{
del_timer_sync
(
&
ieee
->
associate_timer
);
...
...
@@ -1616,7 +1589,7 @@ void rtllib_associate_complete(struct rtllib_device *ieee)
queue_work_rsl
(
ieee
->
wq
,
&
ieee
->
associate_complete_wq
);
}
void
rtllib_associate_procedure_wq
(
void
*
data
)
static
void
rtllib_associate_procedure_wq
(
void
*
data
)
{
struct
rtllib_device
*
ieee
=
container_of_dwork_rsl
(
data
,
struct
rtllib_device
,
...
...
@@ -1828,7 +1801,7 @@ static inline u16 auth_parse(struct sk_buff *skb, u8** challenge, int *chlen)
return
cpu_to_le16
(
a
->
status
);
}
int
auth_rq_parse
(
struct
sk_buff
*
skb
,
u8
*
dest
)
static
int
auth_rq_parse
(
struct
sk_buff
*
skb
,
u8
*
dest
)
{
struct
rtllib_authentication
*
a
;
...
...
@@ -1894,7 +1867,7 @@ static short probe_rq_parse(struct rtllib_device *ieee, struct sk_buff *skb,
return
!
strncmp
(
ssid
,
ieee
->
current_network
.
ssid
,
ssidlen
);
}
int
assoc_rq_parse
(
struct
sk_buff
*
skb
,
u8
*
dest
)
static
int
assoc_rq_parse
(
struct
sk_buff
*
skb
,
u8
*
dest
)
{
struct
rtllib_assoc_request_frame
*
a
;
...
...
@@ -2075,7 +2048,7 @@ static short rtllib_sta_ps_sleep(struct rtllib_device *ieee, u64 *time)
}
inline
void
rtllib_sta_ps
(
struct
rtllib_device
*
ieee
)
static
inline
void
rtllib_sta_ps
(
struct
rtllib_device
*
ieee
)
{
u64
time
;
short
sleep
;
...
...
@@ -2196,7 +2169,7 @@ void rtllib_ps_tx_ack(struct rtllib_device *ieee, short success)
spin_unlock_irqrestore
(
&
ieee
->
lock
,
flags
);
}
void
rtllib_process_action
(
struct
rtllib_device
*
ieee
,
struct
sk_buff
*
skb
)
static
void
rtllib_process_action
(
struct
rtllib_device
*
ieee
,
struct
sk_buff
*
skb
)
{
struct
rtllib_hdr_3addr
*
header
=
(
struct
rtllib_hdr_3addr
*
)
skb
->
data
;
u8
*
act
=
rtllib_get_payload
((
struct
rtllib_hdr
*
)
header
);
...
...
@@ -2530,7 +2503,7 @@ void rtllib_softmac_xmit(struct rtllib_txb *txb, struct rtllib_device *ieee)
}
/* called with ieee->lock acquired */
void
rtllib_resume_tx
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_resume_tx
(
struct
rtllib_device
*
ieee
)
{
int
i
;
for
(
i
=
ieee
->
tx_pending
.
frag
;
i
<
ieee
->
tx_pending
.
txb
->
nr_frags
;
...
...
@@ -2675,7 +2648,7 @@ void rtllib_start_master_bss(struct rtllib_device *ieee)
netif_carrier_on
(
ieee
->
dev
);
}
void
rtllib_start_monitor_mode
(
struct
rtllib_device
*
ieee
)
static
void
rtllib_start_monitor_mode
(
struct
rtllib_device
*
ieee
)
{
/* reset hardware status */
if
(
ieee
->
raw_tx
)
{
...
...
@@ -2686,7 +2659,7 @@ void rtllib_start_monitor_mode(struct rtllib_device *ieee)
}
}
void
rtllib_start_ibss_wq
(
void
*
data
)
static
void
rtllib_start_ibss_wq
(
void
*
data
)
{
struct
rtllib_device
*
ieee
=
container_of_dwork_rsl
(
data
,
struct
rtllib_device
,
start_ibss_wq
);
...
...
@@ -2850,7 +2823,7 @@ void rtllib_start_bss(struct rtllib_device *ieee)
spin_unlock_irqrestore
(
&
ieee
->
lock
,
flags
);
}
void
rtllib_link_change_wq
(
void
*
data
)
static
void
rtllib_link_change_wq
(
void
*
data
)
{
struct
rtllib_device
*
ieee
=
container_of_dwork_rsl
(
data
,
struct
rtllib_device
,
link_change_wq
);
...
...
@@ -2876,7 +2849,7 @@ void rtllib_disassociate(struct rtllib_device *ieee)
notify_wx_assoc_event
(
ieee
);
}
void
rtllib_associate_retry_wq
(
void
*
data
)
static
void
rtllib_associate_retry_wq
(
void
*
data
)
{
struct
rtllib_device
*
ieee
=
container_of_dwork_rsl
(
data
,
struct
rtllib_device
,
associate_retry_wq
);
...
...
@@ -3194,8 +3167,8 @@ static int rtllib_wpa_enable(struct rtllib_device *ieee, int value)
}
void
rtllib_wpa_assoc_frame
(
struct
rtllib_device
*
ieee
,
char
*
wpa_ie
,
int
wpa_ie_len
)
static
void
rtllib_wpa_assoc_frame
(
struct
rtllib_device
*
ieee
,
char
*
wpa_ie
,
int
wpa_ie_len
)
{
/* make sure WPA is enabled */
rtllib_wpa_enable
(
ieee
,
1
);
...
...
@@ -3698,7 +3671,7 @@ void rtllib_MlmeDisassociateRequest(struct rtllib_device *rtllib, u8 *asSta,
RemovePeerTS
(
rtllib
,
asSta
);
if
(
memcpy
(
rtllib
->
current_network
.
bssid
,
asSta
,
6
)
==
0
)
{
if
(
memcpy
(
rtllib
->
current_network
.
bssid
,
asSta
,
6
)
==
NULL
)
{
rtllib
->
state
=
RTLLIB_NOLINK
;
for
(
i
=
0
;
i
<
6
;
i
++
)
...
...
drivers/staging/rtl8192e/rtllib_tx.c
View file @
966aeb32
...
...
@@ -220,8 +220,8 @@ void rtllib_txb_free(struct rtllib_txb *txb)
kfree
(
txb
);
}
struct
rtllib_txb
*
rtllib_alloc_txb
(
int
nr_frags
,
int
txb_size
,
in
t
gfp_mask
)
st
atic
st
ruct
rtllib_txb
*
rtllib_alloc_txb
(
int
nr_frags
,
int
txb_size
,
gfp_
t
gfp_mask
)
{
struct
rtllib_txb
*
txb
;
int
i
;
...
...
@@ -251,8 +251,7 @@ struct rtllib_txb *rtllib_alloc_txb(int nr_frags, int txb_size,
return
txb
;
}
int
rtllib_classify
(
struct
sk_buff
*
skb
,
u8
bIsAmsdu
)
static
int
rtllib_classify
(
struct
sk_buff
*
skb
,
u8
bIsAmsdu
)
{
struct
ethhdr
*
eth
;
struct
iphdr
*
ip
;
...
...
@@ -283,8 +282,9 @@ rtllib_classify(struct sk_buff *skb, u8 bIsAmsdu)
}
}
void
rtllib_tx_query_agg_cap
(
struct
rtllib_device
*
ieee
,
struct
sk_buff
*
skb
,
struct
cb_desc
*
tcb_desc
)
static
void
rtllib_tx_query_agg_cap
(
struct
rtllib_device
*
ieee
,
struct
sk_buff
*
skb
,
struct
cb_desc
*
tcb_desc
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
struct
tx_ts_record
*
pTxTs
=
NULL
;
...
...
@@ -358,7 +358,7 @@ void rtllib_tx_query_agg_cap(struct rtllib_device *ieee, struct sk_buff *skb,
return
;
}
extern
void
rtllib_qurey_ShortPreambleMode
(
struct
rtllib_device
*
ieee
,
static
void
rtllib_qurey_ShortPreambleMode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
)
{
tcb_desc
->
bUseShortPreamble
=
false
;
...
...
@@ -370,7 +370,7 @@ extern void rtllib_qurey_ShortPreambleMode(struct rtllib_device *ieee,
return
;
}
extern
void
rtllib_query_HTCapShortGI
(
struct
rtllib_device
*
ieee
,
static
void
rtllib_query_HTCapShortGI
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
...
...
@@ -391,8 +391,8 @@ extern void rtllib_query_HTCapShortGI(struct rtllib_device *ieee,
tcb_desc
->
bUseShortGI
=
true
;
}
void
rtllib_query_BandwidthMode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
)
static
void
rtllib_query_BandwidthMode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
)
{
struct
rt_hi_throughput
*
pHTInfo
=
ieee
->
pHTInfo
;
...
...
@@ -412,8 +412,9 @@ void rtllib_query_BandwidthMode(struct rtllib_device *ieee,
return
;
}
void
rtllib_query_protectionmode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
,
struct
sk_buff
*
skb
)
static
void
rtllib_query_protectionmode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
,
struct
sk_buff
*
skb
)
{
tcb_desc
->
bRTSSTBC
=
false
;
tcb_desc
->
bRTSUseShortGI
=
false
;
...
...
@@ -494,8 +495,8 @@ void rtllib_query_protectionmode(struct rtllib_device *ieee,
}
void
rtllib_txrate_selectmode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
)
static
void
rtllib_txrate_selectmode
(
struct
rtllib_device
*
ieee
,
struct
cb_desc
*
tcb_desc
)
{
if
(
ieee
->
bTxDisableRateFallBack
)
tcb_desc
->
bTxDisableRateFallBack
=
true
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment