staging: rtl8192e: Pass ieee80211_device to callbacks
Signed-off-by: Mike McCormack <mikem@ring3k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ad44d2a1c5
commit
1e04ca7adf
|
@ -2186,20 +2186,20 @@ struct ieee80211_device {
|
|||
void (*stop_send_beacons) (struct ieee80211_device *dev);
|
||||
|
||||
/* power save mode related */
|
||||
void (*sta_wake_up) (struct net_device *dev);
|
||||
void (*enter_sleep_state) (struct net_device *dev, u32 th, u32 tl);
|
||||
short (*ps_is_queue_empty) (struct net_device *dev);
|
||||
int (*handle_beacon) (struct net_device * dev, struct ieee80211_beacon * beacon, struct ieee80211_network * network);
|
||||
int (*handle_assoc_response) (struct net_device * dev, struct ieee80211_assoc_response_frame * resp, struct ieee80211_network * network);
|
||||
void (*sta_wake_up) (struct ieee80211_device *ieee80211);
|
||||
void (*enter_sleep_state) (struct ieee80211_device *ieee80211, u32 th, u32 tl);
|
||||
short (*ps_is_queue_empty) (struct ieee80211_device *ieee80211);
|
||||
int (*handle_beacon) (struct ieee80211_device *ieee80211, struct ieee80211_beacon *beacon, struct ieee80211_network *network);
|
||||
int (*handle_assoc_response) (struct ieee80211_device *ieee80211, struct ieee80211_assoc_response_frame *resp, struct ieee80211_network *network);
|
||||
|
||||
/* check whether Tx hw resouce available */
|
||||
short (*check_nic_enough_desc)(struct net_device *dev, int queue_index);
|
||||
short (*check_nic_enough_desc)(struct ieee80211_device *ieee80211, int queue_index);
|
||||
//added by wb for HT related
|
||||
void (*SetBWModeHandler)(struct net_device *dev, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset);
|
||||
bool (*GetNmodeSupportBySecCfg)(struct net_device* dev);
|
||||
void (*SetWirelessMode)(struct net_device* dev, u8 wireless_mode);
|
||||
bool (*GetHalfNmodeSupportByAPsHandler)(struct net_device* dev);
|
||||
void (*InitialGainHandler)(struct net_device *dev, u8 Operation);
|
||||
void (*SetBWModeHandler)(struct ieee80211_device *ieee80211, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset);
|
||||
bool (*GetNmodeSupportBySecCfg)(struct ieee80211_device *ieee80211);
|
||||
void (*SetWirelessMode)(struct ieee80211_device *ieee80211, u8 wireless_mode);
|
||||
bool (*GetHalfNmodeSupportByAPsHandler)(struct ieee80211_device *ieee80211);
|
||||
void (*InitialGainHandler)(struct ieee80211_device *ieee80211, u8 Operation);
|
||||
|
||||
/* This must be the last item so that it points to the data
|
||||
* allocated beyond this structure by alloc_ieee80211 */
|
||||
|
|
|
@ -2634,7 +2634,7 @@ static inline void ieee80211_process_probe_response(
|
|||
if (is_beacon(beacon->header.frame_ctl)&&is_same_network(&ieee->current_network, &network, ieee)&&\
|
||||
(ieee->state == IEEE80211_LINKED)) {
|
||||
if(ieee->handle_beacon != NULL) {
|
||||
ieee->handle_beacon(ieee->dev,beacon,&ieee->current_network);
|
||||
ieee->handle_beacon(ieee, beacon, &ieee->current_network);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -259,8 +259,8 @@ inline void softmac_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee
|
|||
ieee->seq_ctrl[0]++;
|
||||
|
||||
/* check wether the managed packet queued greater than 5 */
|
||||
if(!ieee->check_nic_enough_desc(ieee->dev,tcb_desc->queue_index)||\
|
||||
(skb_queue_len(&ieee->skb_waitQ[tcb_desc->queue_index]) != 0)||\
|
||||
if(!ieee->check_nic_enough_desc(ieee, tcb_desc->queue_index)||
|
||||
(skb_queue_len(&ieee->skb_waitQ[tcb_desc->queue_index]) != 0)||
|
||||
(ieee->queue_stop) ) {
|
||||
/* insert the skb packet to the management queue */
|
||||
/* as for the completion function, it does not need
|
||||
|
@ -1508,11 +1508,11 @@ inline void ieee80211_softmac_new_net(struct ieee80211_device *ieee, struct ieee
|
|||
if(ieee80211_is_54g(ieee->current_network) &&
|
||||
(ieee->modulation & IEEE80211_OFDM_MODULATION)){
|
||||
ieee->rate = 108;
|
||||
ieee->SetWirelessMode(ieee->dev, IEEE_G);
|
||||
ieee->SetWirelessMode(ieee, IEEE_G);
|
||||
printk(KERN_INFO"Using G rates\n");
|
||||
}else{
|
||||
ieee->rate = 22;
|
||||
ieee->SetWirelessMode(ieee->dev, IEEE_B);
|
||||
ieee->SetWirelessMode(ieee, IEEE_B);
|
||||
printk(KERN_INFO"Using B rates\n");
|
||||
}
|
||||
memset(ieee->dot11HTOperationalRateSet, 0, 16);
|
||||
|
@ -1845,13 +1845,13 @@ inline void ieee80211_sta_ps(struct ieee80211_device *ieee)
|
|||
}
|
||||
if(sleep == 1){
|
||||
if(ieee->sta_sleep == 1){
|
||||
ieee->enter_sleep_state(ieee->dev,th,tl);
|
||||
ieee->enter_sleep_state(ieee, th, tl);
|
||||
}
|
||||
|
||||
else if(ieee->sta_sleep == 0){
|
||||
spin_lock(&ieee->mgmt_tx_lock);
|
||||
|
||||
if(ieee->ps_is_queue_empty(ieee->dev)){
|
||||
if (ieee->ps_is_queue_empty(ieee)) {
|
||||
ieee->sta_sleep = 2;
|
||||
ieee->ack_tx_to_ieee = 1;
|
||||
ieee80211_sta_ps_send_null_frame(ieee,1);
|
||||
|
@ -1897,7 +1897,7 @@ void ieee80211_sta_wakeup(struct ieee80211_device *ieee, short nl)
|
|||
}
|
||||
|
||||
if(ieee->sta_sleep == 1)
|
||||
ieee->sta_wake_up(ieee->dev);
|
||||
ieee->sta_wake_up(ieee);
|
||||
if(nl){
|
||||
|
||||
if(ieee->pHTInfo->IOTAction & HT_IOT_ACT_NULL_DATA_POWER_SAVING)
|
||||
|
@ -1929,7 +1929,7 @@ void ieee80211_ps_tx_ack(struct ieee80211_device *ieee, short success)
|
|||
/* Null frame with PS bit set */
|
||||
if(success){
|
||||
ieee->sta_sleep = 1;
|
||||
ieee->enter_sleep_state(ieee->dev,ieee->ps_th,ieee->ps_tl);
|
||||
ieee->enter_sleep_state(ieee, ieee->ps_th, ieee->ps_tl);
|
||||
}
|
||||
} else {/* 21112005 - tx again null without PS bit if lost */
|
||||
|
||||
|
@ -2028,7 +2028,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
|
|||
memcpy(ieee->pHTInfo->PeerHTInfoBuf, network->bssht.bdHTInfoBuf, network->bssht.bdHTInfoLen);
|
||||
}
|
||||
if (ieee->handle_assoc_response != NULL)
|
||||
ieee->handle_assoc_response(ieee->dev, (struct ieee80211_assoc_response_frame*)header, network);
|
||||
ieee->handle_assoc_response(ieee, (struct ieee80211_assoc_response_frame*)header, network);
|
||||
}
|
||||
ieee80211_associate_complete(ieee);
|
||||
} else {
|
||||
|
@ -2072,7 +2072,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
|
|||
ieee->softmac_stats.rx_auth_rs_ok++;
|
||||
if(!(ieee->pHTInfo->IOTAction&HT_IOT_ACT_PURE_N_MODE))
|
||||
{
|
||||
if (!ieee->GetNmodeSupportBySecCfg(ieee->dev))
|
||||
if (!ieee->GetNmodeSupportBySecCfg(ieee))
|
||||
{
|
||||
// WEP or TKIP encryption
|
||||
if(IsHTHalfNmodeAPs(ieee))
|
||||
|
@ -2091,12 +2091,12 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
|
|||
/* Dummy wirless mode setting to avoid encryption issue */
|
||||
if(bSupportNmode) {
|
||||
//N mode setting
|
||||
ieee->SetWirelessMode(ieee->dev, \
|
||||
ieee->SetWirelessMode(ieee,
|
||||
ieee->current_network.mode);
|
||||
}else{
|
||||
//b/g mode setting
|
||||
/*TODO*/
|
||||
ieee->SetWirelessMode(ieee->dev, IEEE_G);
|
||||
ieee->SetWirelessMode(ieee, IEEE_G);
|
||||
}
|
||||
|
||||
if (ieee->current_network.mode == IEEE_N_24G && bHalfSupportNmode == true)
|
||||
|
@ -2207,7 +2207,7 @@ void ieee80211_softmac_xmit(struct ieee80211_txb *txb, struct ieee80211_device *
|
|||
#else
|
||||
if ((skb_queue_len(&ieee->skb_waitQ[queue_index]) != 0) ||
|
||||
#endif
|
||||
(!ieee->check_nic_enough_desc(ieee->dev,queue_index))||\
|
||||
(!ieee->check_nic_enough_desc(ieee, queue_index))||
|
||||
(ieee->queue_stop)) {
|
||||
/* insert the skb packet to the wait queue */
|
||||
/* as for the completion function, it does not need
|
||||
|
@ -2457,7 +2457,7 @@ void ieee80211_start_ibss_wq(struct work_struct *work)
|
|||
|
||||
// By default, WMM function will be disabled in IBSS mode
|
||||
ieee->current_network.QoS_Enable = 0;
|
||||
ieee->SetWirelessMode(ieee->dev, IEEE_G);
|
||||
ieee->SetWirelessMode(ieee, IEEE_G);
|
||||
ieee->current_network.atim_window = 0;
|
||||
ieee->current_network.capability = WLAN_CAPABILITY_IBSS;
|
||||
if(ieee->short_slot)
|
||||
|
|
|
@ -322,13 +322,13 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
|
|||
|
||||
ieee->state = IEEE80211_LINKED_SCANNING;
|
||||
ieee->link_change(ieee);
|
||||
ieee->InitialGainHandler(ieee->dev,IG_Backup);
|
||||
ieee->InitialGainHandler(ieee, IG_Backup);
|
||||
if (ieee->pHTInfo->bCurrentHTSupport && ieee->pHTInfo->bEnableHT && ieee->pHTInfo->bCurBW40MHz) {
|
||||
b40M = 1;
|
||||
chan_offset = ieee->pHTInfo->CurSTAExtChnlOffset;
|
||||
bandwidth = (HT_CHANNEL_WIDTH)ieee->pHTInfo->bCurBW40MHz;
|
||||
printk("Scan in 40M, force to 20M first:%d, %d\n", chan_offset, bandwidth);
|
||||
ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
|
||||
ieee->SetBWModeHandler(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
|
||||
}
|
||||
ieee80211_start_scan_syncro(ieee);
|
||||
if (b40M) {
|
||||
|
@ -339,12 +339,12 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
|
|||
ieee->set_chan(ieee, chan - 2);
|
||||
else
|
||||
ieee->set_chan(ieee, chan);
|
||||
ieee->SetBWModeHandler(ieee->dev, bandwidth, chan_offset);
|
||||
ieee->SetBWModeHandler(ieee, bandwidth, chan_offset);
|
||||
} else {
|
||||
ieee->set_chan(ieee, chan);
|
||||
}
|
||||
|
||||
ieee->InitialGainHandler(ieee->dev,IG_Restore);
|
||||
ieee->InitialGainHandler(ieee, IG_Restore);
|
||||
ieee->state = IEEE80211_LINKED;
|
||||
ieee->link_change(ieee);
|
||||
|
||||
|
|
|
@ -330,7 +330,7 @@ void ieee80211_tx_query_agg_cap(struct ieee80211_device* ieee, struct sk_buff* s
|
|||
|
||||
|
||||
#if 1
|
||||
if(!ieee->GetNmodeSupportBySecCfg(ieee->dev))
|
||||
if (!ieee->GetNmodeSupportBySecCfg(ieee))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -353,7 +353,7 @@ int ieee80211_rx_ADDBAReq( struct ieee80211_device* ieee, struct sk_buff *skb)
|
|||
pBA->BaTimeoutValue = *pBaTimeoutVal;
|
||||
pBA->BaStartSeqCtrl = *pBaStartSeqCtrl;
|
||||
//for half N mode we only aggregate 1 frame
|
||||
if (ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev))
|
||||
if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
|
||||
pBA->BaParamSet.field.BufferSize = 1;
|
||||
else
|
||||
pBA->BaParamSet.field.BufferSize = 32;
|
||||
|
|
|
@ -223,7 +223,7 @@ bool IsHTHalfNmode40Bandwidth(struct ieee80211_device* ieee)
|
|||
retValue = false;
|
||||
else if(pHTInfo->bRegBW40MHz == false) // station supports 40 bw
|
||||
retValue = false;
|
||||
else if(!ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) // station in half n mode
|
||||
else if (!ieee->GetHalfNmodeSupportByAPsHandler(ieee)) // station in half n mode
|
||||
retValue = false;
|
||||
else if(((PHT_CAPABILITY_ELE)(pHTInfo->PeerHTCapBuf))->ChlWidth) // ap support 40 bw
|
||||
retValue = true;
|
||||
|
@ -240,7 +240,7 @@ bool IsHTHalfNmodeSGI(struct ieee80211_device* ieee, bool is40MHz)
|
|||
|
||||
if(pHTInfo->bCurrentHTSupport == false ) // wireless is n mode
|
||||
retValue = false;
|
||||
else if(!ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) // station in half n mode
|
||||
else if (!ieee->GetHalfNmodeSupportByAPsHandler(ieee)) // station in half n mode
|
||||
retValue = false;
|
||||
else if(is40MHz) // ap support 40 bw
|
||||
{
|
||||
|
@ -652,7 +652,7 @@ void HTConstructCapabilityElement(struct ieee80211_device* ieee, u8* posHTCap, u
|
|||
|
||||
//HT capability info
|
||||
pCapELE->AdvCoding = 0; // This feature is not supported now!!
|
||||
if(ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev))
|
||||
if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
|
||||
{
|
||||
pCapELE->ChlWidth = 0;
|
||||
}
|
||||
|
@ -705,7 +705,7 @@ void HTConstructCapabilityElement(struct ieee80211_device* ieee, u8* posHTCap, u
|
|||
|
||||
// 2008.06.12
|
||||
// For RTL819X, if pairwisekey = wep/tkip, ap is ralink, we support only MCS0~7.
|
||||
if(ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev))
|
||||
if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
|
||||
{
|
||||
int i;
|
||||
for(i = 1; i< 16; i++)
|
||||
|
@ -993,7 +993,7 @@ u8 HTFilterMCSRate( struct ieee80211_device* ieee, u8* pSupportMCS, u8* pOperate
|
|||
HT_PickMCSRate(ieee, pOperateMCS);
|
||||
|
||||
// For RTL819X, if pairwisekey = wep/tkip, we support only MCS0~7.
|
||||
if(ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev))
|
||||
if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
|
||||
pOperateMCS[1] = 0;
|
||||
|
||||
//
|
||||
|
@ -1679,7 +1679,7 @@ void HTSetConnectBwMode(struct ieee80211_device* ieee, HT_CHANNEL_WIDTH Bandwidt
|
|||
return;
|
||||
}
|
||||
//if in half N mode, set to 20M bandwidth please 09.08.2008 WB.
|
||||
if(Bandwidth==HT_CHANNEL_WIDTH_20_40 && (!ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)))
|
||||
if (Bandwidth==HT_CHANNEL_WIDTH_20_40 && (!ieee->GetHalfNmodeSupportByAPsHandler(ieee)))
|
||||
{
|
||||
// Handle Illegal extention channel offset!!
|
||||
if(ieee->current_network.channel<2 && Offset==HT_EXTCHNL_OFFSET_LOWER)
|
||||
|
@ -1722,10 +1722,10 @@ void HTSetConnectBwModeCallback(struct ieee80211_device* ieee)
|
|||
else
|
||||
ieee->set_chan(ieee, ieee->current_network.channel);
|
||||
|
||||
ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20_40, pHTInfo->CurSTAExtChnlOffset);
|
||||
ieee->SetBWModeHandler(ieee, HT_CHANNEL_WIDTH_20_40, pHTInfo->CurSTAExtChnlOffset);
|
||||
} else {
|
||||
ieee->set_chan(ieee, ieee->current_network.channel);
|
||||
ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
|
||||
ieee->SetBWModeHandler(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
|
||||
}
|
||||
|
||||
pHTInfo->bSwBwInProgress = false;
|
||||
|
|
|
@ -583,9 +583,9 @@ static void rtl8192_proc_init_one(struct r8192_priv *priv)
|
|||
}
|
||||
}
|
||||
|
||||
static short check_nic_enough_desc(struct net_device *dev, int prio)
|
||||
static short check_nic_enough_desc(struct ieee80211_device *ieee, int prio)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
struct rtl8192_tx_ring *ring = &priv->tx_ring[prio];
|
||||
|
||||
/* for now we reserve two free descriptor as a safety boundary
|
||||
|
@ -1597,11 +1597,11 @@ static int rtl8192_qos_handle_probe_response(struct r8192_priv *priv,
|
|||
}
|
||||
|
||||
/* handle manage frame frame beacon and probe response */
|
||||
static int rtl8192_handle_beacon(struct net_device * dev,
|
||||
static int rtl8192_handle_beacon(struct ieee80211_device *ieee,
|
||||
struct ieee80211_beacon * beacon,
|
||||
struct ieee80211_network * network)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
|
||||
rtl8192_qos_handle_probe_response(priv,1,network);
|
||||
|
||||
|
@ -1663,11 +1663,11 @@ static int rtl8192_qos_association_resp(struct r8192_priv *priv,
|
|||
}
|
||||
|
||||
|
||||
static int rtl8192_handle_assoc_response(struct net_device *dev,
|
||||
static int rtl8192_handle_assoc_response(struct ieee80211_device *ieee,
|
||||
struct ieee80211_assoc_response_frame *resp,
|
||||
struct ieee80211_network *network)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
rtl8192_qos_association_resp(priv, network);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1719,11 +1719,8 @@ static void rtl8192_update_ratr_table(struct r8192_priv* priv)
|
|||
write_nic_byte(priv, UFWP, 1);
|
||||
}
|
||||
|
||||
static bool GetNmodeSupportBySecCfg8190Pci(struct net_device*dev)
|
||||
static bool GetNmodeSupportBySecCfg8190Pci(struct ieee80211_device *ieee)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct ieee80211_device *ieee = priv->ieee80211;
|
||||
|
||||
return !(ieee->rtllib_ap_sec_type &&
|
||||
(ieee->rtllib_ap_sec_type(ieee)&(SEC_ALG_WEP|SEC_ALG_TKIP)));
|
||||
}
|
||||
|
@ -1745,9 +1742,9 @@ static u8 rtl8192_getSupportedWireleeMode(void)
|
|||
return (WIRELESS_MODE_N_24G|WIRELESS_MODE_G|WIRELESS_MODE_B);
|
||||
}
|
||||
|
||||
static void rtl8192_SetWirelessMode(struct net_device* dev, u8 wireless_mode)
|
||||
static void rtl8192_SetWirelessMode(struct ieee80211_device *ieee, u8 wireless_mode)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
u8 bSupportMode = rtl8192_getSupportedWireleeMode();
|
||||
|
||||
if ((wireless_mode == WIRELESS_MODE_AUTO) || ((wireless_mode&bSupportMode)==0))
|
||||
|
@ -1787,18 +1784,16 @@ static void rtl8192_SetWirelessMode(struct net_device* dev, u8 wireless_mode)
|
|||
rtl8192_refresh_supportrate(priv);
|
||||
}
|
||||
|
||||
static bool GetHalfNmodeSupportByAPs819xPci(struct net_device* dev)
|
||||
static bool GetHalfNmodeSupportByAPs819xPci(struct ieee80211_device* ieee)
|
||||
{
|
||||
struct r8192_priv* priv = ieee80211_priv(dev);
|
||||
struct ieee80211_device* ieee = priv->ieee80211;
|
||||
|
||||
return ieee->bHalfWirelessN24GMode;
|
||||
}
|
||||
|
||||
static short rtl8192_is_tx_queue_empty(struct net_device *dev)
|
||||
static short rtl8192_is_tx_queue_empty(struct ieee80211_device *ieee)
|
||||
{
|
||||
int i=0;
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
|
||||
for (i=0; i<=MGNT_QUEUE; i++)
|
||||
{
|
||||
if ((i== TXCMD_QUEUE) || (i == HCCA_QUEUE) )
|
||||
|
@ -1816,9 +1811,9 @@ static void rtl8192_hw_sleep_down(struct r8192_priv *priv)
|
|||
MgntActSet_RF_State(priv, eRfSleep, RF_CHANGE_BY_PS);
|
||||
}
|
||||
|
||||
static void rtl8192_hw_wakeup(struct net_device* dev)
|
||||
static void rtl8192_hw_wakeup(struct ieee80211_device *ieee)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
MgntActSet_RF_State(priv, eRfOn, RF_CHANGE_BY_PS);
|
||||
}
|
||||
|
||||
|
@ -1826,16 +1821,15 @@ static void rtl8192_hw_wakeup_wq (struct work_struct *work)
|
|||
{
|
||||
struct delayed_work *dwork = container_of(work,struct delayed_work,work);
|
||||
struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,hw_wakeup_wq);
|
||||
struct net_device *dev = ieee->dev;
|
||||
rtl8192_hw_wakeup(dev);
|
||||
|
||||
rtl8192_hw_wakeup(ieee);
|
||||
}
|
||||
|
||||
#define MIN_SLEEP_TIME 50
|
||||
#define MAX_SLEEP_TIME 10000
|
||||
static void rtl8192_hw_to_sleep(struct net_device *dev, u32 th, u32 tl)
|
||||
static void rtl8192_hw_to_sleep(struct ieee80211_device *ieee, u32 th, u32 tl)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
u32 tmp;
|
||||
u32 rb = jiffies;
|
||||
|
||||
|
@ -2658,7 +2652,7 @@ static RT_STATUS rtl8192_adapter_start(struct r8192_priv *priv)
|
|||
write_nic_byte(priv, ACK_TIMEOUT, 0x30);
|
||||
|
||||
if(priv->ResetProgress == RESET_TYPE_NORESET)
|
||||
rtl8192_SetWirelessMode(dev, priv->ieee80211->mode);
|
||||
rtl8192_SetWirelessMode(priv->ieee80211, priv->ieee80211->mode);
|
||||
//-----------------------------------------------------------------------------
|
||||
// Set up security related. 070106, by rcnjko:
|
||||
// 1. Clear all H/W keys.
|
||||
|
@ -3055,7 +3049,7 @@ bool MgntActSet_802_11_PowerSaveMode(struct r8192_priv *priv, u8 rtPsMode)
|
|||
if(priv->ieee80211->sta_sleep != 0 && rtPsMode == IEEE80211_PS_DISABLED)
|
||||
{
|
||||
// Notify the AP we awke.
|
||||
rtl8192_hw_wakeup(priv->ieee80211->dev);
|
||||
rtl8192_hw_wakeup(priv->ieee80211);
|
||||
priv->ieee80211->sta_sleep = 0;
|
||||
|
||||
spin_lock(&priv->ieee80211->mgmt_tx_lock);
|
||||
|
@ -4294,13 +4288,12 @@ static void TranslateRxSignalStuff819xpci(struct r8192_priv *priv,
|
|||
static void rtl8192_tx_resume(struct r8192_priv *priv)
|
||||
{
|
||||
struct ieee80211_device *ieee = priv->ieee80211;
|
||||
struct net_device *dev = priv->ieee80211->dev;
|
||||
struct sk_buff *skb;
|
||||
int i;
|
||||
|
||||
for (i = BK_QUEUE; i < TXCMD_QUEUE; i++) {
|
||||
while ((!skb_queue_empty(&ieee->skb_waitQ[i])) &&
|
||||
(priv->ieee80211->check_nic_enough_desc(dev, i) > 0)) {
|
||||
(priv->ieee80211->check_nic_enough_desc(ieee, i) > 0)) {
|
||||
/* 1. dequeue the packet from the wait queue */
|
||||
skb = skb_dequeue(&ieee->skb_waitQ[i]);
|
||||
/* 2. tx the packet directly */
|
||||
|
@ -4313,7 +4306,6 @@ static void rtl8192_irq_tx_tasklet(unsigned long arg)
|
|||
{
|
||||
struct r8192_priv *priv = (struct r8192_priv*) arg;
|
||||
struct rtl8192_tx_ring *mgnt_ring = &priv->tx_ring[MGNT_QUEUE];
|
||||
struct net_device *dev = priv->ieee80211->dev;
|
||||
unsigned long flags;
|
||||
|
||||
/* check if we need to report that the management queue is drained */
|
||||
|
@ -4321,7 +4313,7 @@ static void rtl8192_irq_tx_tasklet(unsigned long arg)
|
|||
|
||||
if (!skb_queue_len(&mgnt_ring->queue) &&
|
||||
priv->ieee80211->ack_tx_to_ieee &&
|
||||
rtl8192_is_tx_queue_empty(dev)) {
|
||||
rtl8192_is_tx_queue_empty(priv->ieee80211)) {
|
||||
priv->ieee80211->ack_tx_to_ieee = 0;
|
||||
ieee80211_ps_tx_ack(priv->ieee80211, 1);
|
||||
}
|
||||
|
|
|
@ -313,7 +313,7 @@ static void dm_check_rate_adaptive(struct r8192_priv *priv)
|
|||
}
|
||||
|
||||
// For RTL819X, if pairwisekey = wep/tkip, we support only MCS0~7.
|
||||
if(priv->ieee80211->GetHalfNmodeSupportByAPsHandler(priv->ieee80211->dev))
|
||||
if(priv->ieee80211->GetHalfNmodeSupportByAPsHandler(priv->ieee80211))
|
||||
targetRATR &= 0xf00fffff;
|
||||
|
||||
//
|
||||
|
|
|
@ -2125,9 +2125,9 @@ void rtl8192_SetBWModeWorkItem(struct r8192_priv *priv)
|
|||
* Note: I doubt whether SetBWModeInProgress flag is necessary as we can
|
||||
* test whether current work in the queue or not.//do I?
|
||||
* ***************************************************************************/
|
||||
void rtl8192_SetBWMode(struct net_device *dev, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset)
|
||||
void rtl8192_SetBWMode(struct ieee80211_device *ieee, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
|
||||
|
||||
if(priv->SetBWModeInProgress)
|
||||
|
@ -2152,11 +2152,11 @@ void rtl8192_SetBWMode(struct net_device *dev, HT_CHANNEL_WIDTH Bandwidth, HT_EX
|
|||
}
|
||||
|
||||
|
||||
void InitialGain819xPci(struct net_device *dev, u8 Operation)
|
||||
void InitialGain819xPci(struct ieee80211_device *ieee, u8 Operation)
|
||||
{
|
||||
#define SCAN_RX_INITIAL_GAIN 0x17
|
||||
#define POWER_DETECTION_TH 0x08
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
struct r8192_priv *priv = ieee80211_priv(ieee->dev);
|
||||
u32 BitMask;
|
||||
u8 initial_gain;
|
||||
|
||||
|
|
|
@ -119,13 +119,13 @@ u8 rtl8192_phy_ConfigRFWithHeaderFile(struct r8192_priv *priv,
|
|||
|
||||
u8 rtl8192_phy_SwChnl(struct ieee80211_device *ieee80211, u8 channel);
|
||||
|
||||
void rtl8192_SetBWMode(struct net_device *dev,
|
||||
void rtl8192_SetBWMode(struct ieee80211_device *ieee80211,
|
||||
HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset);
|
||||
|
||||
void rtl8192_SwChnl_WorkItem(struct r8192_priv *priv);
|
||||
|
||||
void rtl8192_SetBWModeWorkItem(struct r8192_priv *priv);
|
||||
|
||||
void InitialGain819xPci(struct net_device *dev, u8 Operation);
|
||||
void InitialGain819xPci(struct ieee80211_device *ieee, u8 Operation);
|
||||
|
||||
#endif /* _R819XU_PHY_H */
|
||||
|
|
Loading…
Reference in New Issue