aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McCormack <mikem@ring3k.org>2011-03-10 08:39:50 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-14 15:24:46 -0400
commit1e04ca7adf56e90c3dd3cbbf94936edb94f44d72 (patch)
tree708416e8d2b3e462079e1aeebd7508746a2c49f1
parentad44d2a1c57d45e8f0f74f69c02bd59eb46c0656 (diff)
staging: rtl8192e: Pass ieee80211_device to callbacks
Signed-off-by: Mike McCormack <mikem@ring3k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211.h22
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c2
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c28
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c8
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c2
-rw-r--r--drivers/staging/rtl8192e/ieee80211/rtl819x_BAProc.c2
-rw-r--r--drivers/staging/rtl8192e/ieee80211/rtl819x_HTProc.c16
-rw-r--r--drivers/staging/rtl8192e/r8192E_core.c52
-rw-r--r--drivers/staging/rtl8192e/r8192E_dm.c2
-rw-r--r--drivers/staging/rtl8192e/r819xE_phy.c8
-rw-r--r--drivers/staging/rtl8192e/r819xE_phy.h4
11 files changed, 69 insertions, 77 deletions
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211.h b/drivers/staging/rtl8192e/ieee80211/ieee80211.h
index 527c368897c0..3ca388152616 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211.h
@@ -2186,20 +2186,20 @@ struct ieee80211_device {
2186 void (*stop_send_beacons) (struct ieee80211_device *dev); 2186 void (*stop_send_beacons) (struct ieee80211_device *dev);
2187 2187
2188 /* power save mode related */ 2188 /* power save mode related */
2189 void (*sta_wake_up) (struct net_device *dev); 2189 void (*sta_wake_up) (struct ieee80211_device *ieee80211);
2190 void (*enter_sleep_state) (struct net_device *dev, u32 th, u32 tl); 2190 void (*enter_sleep_state) (struct ieee80211_device *ieee80211, u32 th, u32 tl);
2191 short (*ps_is_queue_empty) (struct net_device *dev); 2191 short (*ps_is_queue_empty) (struct ieee80211_device *ieee80211);
2192 int (*handle_beacon) (struct net_device * dev, struct ieee80211_beacon * beacon, struct ieee80211_network * network); 2192 int (*handle_beacon) (struct ieee80211_device *ieee80211, struct ieee80211_beacon *beacon, struct ieee80211_network *network);
2193 int (*handle_assoc_response) (struct net_device * dev, struct ieee80211_assoc_response_frame * resp, struct ieee80211_network * network); 2193 int (*handle_assoc_response) (struct ieee80211_device *ieee80211, struct ieee80211_assoc_response_frame *resp, struct ieee80211_network *network);
2194 2194
2195 /* check whether Tx hw resouce available */ 2195 /* check whether Tx hw resouce available */
2196 short (*check_nic_enough_desc)(struct net_device *dev, int queue_index); 2196 short (*check_nic_enough_desc)(struct ieee80211_device *ieee80211, int queue_index);
2197 //added by wb for HT related 2197 //added by wb for HT related
2198 void (*SetBWModeHandler)(struct net_device *dev, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset); 2198 void (*SetBWModeHandler)(struct ieee80211_device *ieee80211, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset);
2199 bool (*GetNmodeSupportBySecCfg)(struct net_device* dev); 2199 bool (*GetNmodeSupportBySecCfg)(struct ieee80211_device *ieee80211);
2200 void (*SetWirelessMode)(struct net_device* dev, u8 wireless_mode); 2200 void (*SetWirelessMode)(struct ieee80211_device *ieee80211, u8 wireless_mode);
2201 bool (*GetHalfNmodeSupportByAPsHandler)(struct net_device* dev); 2201 bool (*GetHalfNmodeSupportByAPsHandler)(struct ieee80211_device *ieee80211);
2202 void (*InitialGainHandler)(struct net_device *dev, u8 Operation); 2202 void (*InitialGainHandler)(struct ieee80211_device *ieee80211, u8 Operation);
2203 2203
2204 /* This must be the last item so that it points to the data 2204 /* This must be the last item so that it points to the data
2205 * allocated beyond this structure by alloc_ieee80211 */ 2205 * allocated beyond this structure by alloc_ieee80211 */
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c
index c57a90e41058..add015ebba1c 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c
@@ -2634,7 +2634,7 @@ static inline void ieee80211_process_probe_response(
2634 if (is_beacon(beacon->header.frame_ctl)&&is_same_network(&ieee->current_network, &network, ieee)&&\ 2634 if (is_beacon(beacon->header.frame_ctl)&&is_same_network(&ieee->current_network, &network, ieee)&&\
2635 (ieee->state == IEEE80211_LINKED)) { 2635 (ieee->state == IEEE80211_LINKED)) {
2636 if(ieee->handle_beacon != NULL) { 2636 if(ieee->handle_beacon != NULL) {
2637 ieee->handle_beacon(ieee->dev,beacon,&ieee->current_network); 2637 ieee->handle_beacon(ieee, beacon, &ieee->current_network);
2638 } 2638 }
2639 } 2639 }
2640} 2640}
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
index 92cd71c3217c..f6922d40a88a 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
@@ -259,8 +259,8 @@ inline void softmac_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee
259 ieee->seq_ctrl[0]++; 259 ieee->seq_ctrl[0]++;
260 260
261 /* check wether the managed packet queued greater than 5 */ 261 /* check wether the managed packet queued greater than 5 */
262 if(!ieee->check_nic_enough_desc(ieee->dev,tcb_desc->queue_index)||\ 262 if(!ieee->check_nic_enough_desc(ieee, tcb_desc->queue_index)||
263 (skb_queue_len(&ieee->skb_waitQ[tcb_desc->queue_index]) != 0)||\ 263 (skb_queue_len(&ieee->skb_waitQ[tcb_desc->queue_index]) != 0)||
264 (ieee->queue_stop) ) { 264 (ieee->queue_stop) ) {
265 /* insert the skb packet to the management queue */ 265 /* insert the skb packet to the management queue */
266 /* as for the completion function, it does not need 266 /* 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
1508 if(ieee80211_is_54g(ieee->current_network) && 1508 if(ieee80211_is_54g(ieee->current_network) &&
1509 (ieee->modulation & IEEE80211_OFDM_MODULATION)){ 1509 (ieee->modulation & IEEE80211_OFDM_MODULATION)){
1510 ieee->rate = 108; 1510 ieee->rate = 108;
1511 ieee->SetWirelessMode(ieee->dev, IEEE_G); 1511 ieee->SetWirelessMode(ieee, IEEE_G);
1512 printk(KERN_INFO"Using G rates\n"); 1512 printk(KERN_INFO"Using G rates\n");
1513 }else{ 1513 }else{
1514 ieee->rate = 22; 1514 ieee->rate = 22;
1515 ieee->SetWirelessMode(ieee->dev, IEEE_B); 1515 ieee->SetWirelessMode(ieee, IEEE_B);
1516 printk(KERN_INFO"Using B rates\n"); 1516 printk(KERN_INFO"Using B rates\n");
1517 } 1517 }
1518 memset(ieee->dot11HTOperationalRateSet, 0, 16); 1518 memset(ieee->dot11HTOperationalRateSet, 0, 16);
@@ -1845,13 +1845,13 @@ inline void ieee80211_sta_ps(struct ieee80211_device *ieee)
1845 } 1845 }
1846 if(sleep == 1){ 1846 if(sleep == 1){
1847 if(ieee->sta_sleep == 1){ 1847 if(ieee->sta_sleep == 1){
1848 ieee->enter_sleep_state(ieee->dev,th,tl); 1848 ieee->enter_sleep_state(ieee, th, tl);
1849 } 1849 }
1850 1850
1851 else if(ieee->sta_sleep == 0){ 1851 else if(ieee->sta_sleep == 0){
1852 spin_lock(&ieee->mgmt_tx_lock); 1852 spin_lock(&ieee->mgmt_tx_lock);
1853 1853
1854 if(ieee->ps_is_queue_empty(ieee->dev)){ 1854 if (ieee->ps_is_queue_empty(ieee)) {
1855 ieee->sta_sleep = 2; 1855 ieee->sta_sleep = 2;
1856 ieee->ack_tx_to_ieee = 1; 1856 ieee->ack_tx_to_ieee = 1;
1857 ieee80211_sta_ps_send_null_frame(ieee,1); 1857 ieee80211_sta_ps_send_null_frame(ieee,1);
@@ -1897,7 +1897,7 @@ void ieee80211_sta_wakeup(struct ieee80211_device *ieee, short nl)
1897 } 1897 }
1898 1898
1899 if(ieee->sta_sleep == 1) 1899 if(ieee->sta_sleep == 1)
1900 ieee->sta_wake_up(ieee->dev); 1900 ieee->sta_wake_up(ieee);
1901 if(nl){ 1901 if(nl){
1902 1902
1903 if(ieee->pHTInfo->IOTAction & HT_IOT_ACT_NULL_DATA_POWER_SAVING) 1903 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)
1929 /* Null frame with PS bit set */ 1929 /* Null frame with PS bit set */
1930 if(success){ 1930 if(success){
1931 ieee->sta_sleep = 1; 1931 ieee->sta_sleep = 1;
1932 ieee->enter_sleep_state(ieee->dev,ieee->ps_th,ieee->ps_tl); 1932 ieee->enter_sleep_state(ieee, ieee->ps_th, ieee->ps_tl);
1933 } 1933 }
1934 } else {/* 21112005 - tx again null without PS bit if lost */ 1934 } else {/* 21112005 - tx again null without PS bit if lost */
1935 1935
@@ -2028,7 +2028,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
2028 memcpy(ieee->pHTInfo->PeerHTInfoBuf, network->bssht.bdHTInfoBuf, network->bssht.bdHTInfoLen); 2028 memcpy(ieee->pHTInfo->PeerHTInfoBuf, network->bssht.bdHTInfoBuf, network->bssht.bdHTInfoLen);
2029 } 2029 }
2030 if (ieee->handle_assoc_response != NULL) 2030 if (ieee->handle_assoc_response != NULL)
2031 ieee->handle_assoc_response(ieee->dev, (struct ieee80211_assoc_response_frame*)header, network); 2031 ieee->handle_assoc_response(ieee, (struct ieee80211_assoc_response_frame*)header, network);
2032 } 2032 }
2033 ieee80211_associate_complete(ieee); 2033 ieee80211_associate_complete(ieee);
2034 } else { 2034 } else {
@@ -2072,7 +2072,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
2072 ieee->softmac_stats.rx_auth_rs_ok++; 2072 ieee->softmac_stats.rx_auth_rs_ok++;
2073 if(!(ieee->pHTInfo->IOTAction&HT_IOT_ACT_PURE_N_MODE)) 2073 if(!(ieee->pHTInfo->IOTAction&HT_IOT_ACT_PURE_N_MODE))
2074 { 2074 {
2075 if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) 2075 if (!ieee->GetNmodeSupportBySecCfg(ieee))
2076 { 2076 {
2077 // WEP or TKIP encryption 2077 // WEP or TKIP encryption
2078 if(IsHTHalfNmodeAPs(ieee)) 2078 if(IsHTHalfNmodeAPs(ieee))
@@ -2091,12 +2091,12 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
2091 /* Dummy wirless mode setting to avoid encryption issue */ 2091 /* Dummy wirless mode setting to avoid encryption issue */
2092 if(bSupportNmode) { 2092 if(bSupportNmode) {
2093 //N mode setting 2093 //N mode setting
2094 ieee->SetWirelessMode(ieee->dev, \ 2094 ieee->SetWirelessMode(ieee,
2095 ieee->current_network.mode); 2095 ieee->current_network.mode);
2096 }else{ 2096 }else{
2097 //b/g mode setting 2097 //b/g mode setting
2098 /*TODO*/ 2098 /*TODO*/
2099 ieee->SetWirelessMode(ieee->dev, IEEE_G); 2099 ieee->SetWirelessMode(ieee, IEEE_G);
2100 } 2100 }
2101 2101
2102 if (ieee->current_network.mode == IEEE_N_24G && bHalfSupportNmode == true) 2102 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 *
2207#else 2207#else
2208 if ((skb_queue_len(&ieee->skb_waitQ[queue_index]) != 0) || 2208 if ((skb_queue_len(&ieee->skb_waitQ[queue_index]) != 0) ||
2209#endif 2209#endif
2210 (!ieee->check_nic_enough_desc(ieee->dev,queue_index))||\ 2210 (!ieee->check_nic_enough_desc(ieee, queue_index))||
2211 (ieee->queue_stop)) { 2211 (ieee->queue_stop)) {
2212 /* insert the skb packet to the wait queue */ 2212 /* insert the skb packet to the wait queue */
2213 /* as for the completion function, it does not need 2213 /* as for the completion function, it does not need
@@ -2457,7 +2457,7 @@ void ieee80211_start_ibss_wq(struct work_struct *work)
2457 2457
2458 // By default, WMM function will be disabled in IBSS mode 2458 // By default, WMM function will be disabled in IBSS mode
2459 ieee->current_network.QoS_Enable = 0; 2459 ieee->current_network.QoS_Enable = 0;
2460 ieee->SetWirelessMode(ieee->dev, IEEE_G); 2460 ieee->SetWirelessMode(ieee, IEEE_G);
2461 ieee->current_network.atim_window = 0; 2461 ieee->current_network.atim_window = 0;
2462 ieee->current_network.capability = WLAN_CAPABILITY_IBSS; 2462 ieee->current_network.capability = WLAN_CAPABILITY_IBSS;
2463 if(ieee->short_slot) 2463 if(ieee->short_slot)
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c
index fcafe1925a72..d8a068e32e5e 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c
@@ -322,13 +322,13 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
322 322
323 ieee->state = IEEE80211_LINKED_SCANNING; 323 ieee->state = IEEE80211_LINKED_SCANNING;
324 ieee->link_change(ieee); 324 ieee->link_change(ieee);
325 ieee->InitialGainHandler(ieee->dev,IG_Backup); 325 ieee->InitialGainHandler(ieee, IG_Backup);
326 if (ieee->pHTInfo->bCurrentHTSupport && ieee->pHTInfo->bEnableHT && ieee->pHTInfo->bCurBW40MHz) { 326 if (ieee->pHTInfo->bCurrentHTSupport && ieee->pHTInfo->bEnableHT && ieee->pHTInfo->bCurBW40MHz) {
327 b40M = 1; 327 b40M = 1;
328 chan_offset = ieee->pHTInfo->CurSTAExtChnlOffset; 328 chan_offset = ieee->pHTInfo->CurSTAExtChnlOffset;
329 bandwidth = (HT_CHANNEL_WIDTH)ieee->pHTInfo->bCurBW40MHz; 329 bandwidth = (HT_CHANNEL_WIDTH)ieee->pHTInfo->bCurBW40MHz;
330 printk("Scan in 40M, force to 20M first:%d, %d\n", chan_offset, bandwidth); 330 printk("Scan in 40M, force to 20M first:%d, %d\n", chan_offset, bandwidth);
331 ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT); 331 ieee->SetBWModeHandler(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
332 } 332 }
333 ieee80211_start_scan_syncro(ieee); 333 ieee80211_start_scan_syncro(ieee);
334 if (b40M) { 334 if (b40M) {
@@ -339,12 +339,12 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
339 ieee->set_chan(ieee, chan - 2); 339 ieee->set_chan(ieee, chan - 2);
340 else 340 else
341 ieee->set_chan(ieee, chan); 341 ieee->set_chan(ieee, chan);
342 ieee->SetBWModeHandler(ieee->dev, bandwidth, chan_offset); 342 ieee->SetBWModeHandler(ieee, bandwidth, chan_offset);
343 } else { 343 } else {
344 ieee->set_chan(ieee, chan); 344 ieee->set_chan(ieee, chan);
345 } 345 }
346 346
347 ieee->InitialGainHandler(ieee->dev,IG_Restore); 347 ieee->InitialGainHandler(ieee, IG_Restore);
348 ieee->state = IEEE80211_LINKED; 348 ieee->state = IEEE80211_LINKED;
349 ieee->link_change(ieee); 349 ieee->link_change(ieee);
350 350
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c
index ea715a2d4dc3..995346def24f 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c
@@ -330,7 +330,7 @@ void ieee80211_tx_query_agg_cap(struct ieee80211_device* ieee, struct sk_buff* s
330 330
331 331
332#if 1 332#if 1
333 if(!ieee->GetNmodeSupportBySecCfg(ieee->dev)) 333 if (!ieee->GetNmodeSupportBySecCfg(ieee))
334 { 334 {
335 return; 335 return;
336 } 336 }
diff --git a/drivers/staging/rtl8192e/ieee80211/rtl819x_BAProc.c b/drivers/staging/rtl8192e/ieee80211/rtl819x_BAProc.c
index 2bfa48c8ab71..b690cbc51362 100644
--- a/drivers/staging/rtl8192e/ieee80211/rtl819x_BAProc.c
+++ b/drivers/staging/rtl8192e/ieee80211/rtl819x_BAProc.c
@@ -353,7 +353,7 @@ int ieee80211_rx_ADDBAReq( struct ieee80211_device* ieee, struct sk_buff *skb)
353 pBA->BaTimeoutValue = *pBaTimeoutVal; 353 pBA->BaTimeoutValue = *pBaTimeoutVal;
354 pBA->BaStartSeqCtrl = *pBaStartSeqCtrl; 354 pBA->BaStartSeqCtrl = *pBaStartSeqCtrl;
355 //for half N mode we only aggregate 1 frame 355 //for half N mode we only aggregate 1 frame
356 if (ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) 356 if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
357 pBA->BaParamSet.field.BufferSize = 1; 357 pBA->BaParamSet.field.BufferSize = 1;
358 else 358 else
359 pBA->BaParamSet.field.BufferSize = 32; 359 pBA->BaParamSet.field.BufferSize = 32;
diff --git a/drivers/staging/rtl8192e/ieee80211/rtl819x_HTProc.c b/drivers/staging/rtl8192e/ieee80211/rtl819x_HTProc.c
index 5e0b0b55f24f..a2a4fe9dd9da 100644
--- a/drivers/staging/rtl8192e/ieee80211/rtl819x_HTProc.c
+++ b/drivers/staging/rtl8192e/ieee80211/rtl819x_HTProc.c
@@ -223,7 +223,7 @@ bool IsHTHalfNmode40Bandwidth(struct ieee80211_device* ieee)
223 retValue = false; 223 retValue = false;
224 else if(pHTInfo->bRegBW40MHz == false) // station supports 40 bw 224 else if(pHTInfo->bRegBW40MHz == false) // station supports 40 bw
225 retValue = false; 225 retValue = false;
226 else if(!ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) // station in half n mode 226 else if (!ieee->GetHalfNmodeSupportByAPsHandler(ieee)) // station in half n mode
227 retValue = false; 227 retValue = false;
228 else if(((PHT_CAPABILITY_ELE)(pHTInfo->PeerHTCapBuf))->ChlWidth) // ap support 40 bw 228 else if(((PHT_CAPABILITY_ELE)(pHTInfo->PeerHTCapBuf))->ChlWidth) // ap support 40 bw
229 retValue = true; 229 retValue = true;
@@ -240,7 +240,7 @@ bool IsHTHalfNmodeSGI(struct ieee80211_device* ieee, bool is40MHz)
240 240
241 if(pHTInfo->bCurrentHTSupport == false ) // wireless is n mode 241 if(pHTInfo->bCurrentHTSupport == false ) // wireless is n mode
242 retValue = false; 242 retValue = false;
243 else if(!ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) // station in half n mode 243 else if (!ieee->GetHalfNmodeSupportByAPsHandler(ieee)) // station in half n mode
244 retValue = false; 244 retValue = false;
245 else if(is40MHz) // ap support 40 bw 245 else if(is40MHz) // ap support 40 bw
246 { 246 {
@@ -652,7 +652,7 @@ void HTConstructCapabilityElement(struct ieee80211_device* ieee, u8* posHTCap, u
652 652
653 //HT capability info 653 //HT capability info
654 pCapELE->AdvCoding = 0; // This feature is not supported now!! 654 pCapELE->AdvCoding = 0; // This feature is not supported now!!
655 if(ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) 655 if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
656 { 656 {
657 pCapELE->ChlWidth = 0; 657 pCapELE->ChlWidth = 0;
658 } 658 }
@@ -705,7 +705,7 @@ void HTConstructCapabilityElement(struct ieee80211_device* ieee, u8* posHTCap, u
705 705
706 // 2008.06.12 706 // 2008.06.12
707 // For RTL819X, if pairwisekey = wep/tkip, ap is ralink, we support only MCS0~7. 707 // For RTL819X, if pairwisekey = wep/tkip, ap is ralink, we support only MCS0~7.
708 if(ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) 708 if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
709 { 709 {
710 int i; 710 int i;
711 for(i = 1; i< 16; i++) 711 for(i = 1; i< 16; i++)
@@ -993,7 +993,7 @@ u8 HTFilterMCSRate( struct ieee80211_device* ieee, u8* pSupportMCS, u8* pOperate
993 HT_PickMCSRate(ieee, pOperateMCS); 993 HT_PickMCSRate(ieee, pOperateMCS);
994 994
995 // For RTL819X, if pairwisekey = wep/tkip, we support only MCS0~7. 995 // For RTL819X, if pairwisekey = wep/tkip, we support only MCS0~7.
996 if(ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev)) 996 if (ieee->GetHalfNmodeSupportByAPsHandler(ieee))
997 pOperateMCS[1] = 0; 997 pOperateMCS[1] = 0;
998 998
999 // 999 //
@@ -1679,7 +1679,7 @@ void HTSetConnectBwMode(struct ieee80211_device* ieee, HT_CHANNEL_WIDTH Bandwidt
1679 return; 1679 return;
1680 } 1680 }
1681 //if in half N mode, set to 20M bandwidth please 09.08.2008 WB. 1681 //if in half N mode, set to 20M bandwidth please 09.08.2008 WB.
1682 if(Bandwidth==HT_CHANNEL_WIDTH_20_40 && (!ieee->GetHalfNmodeSupportByAPsHandler(ieee->dev))) 1682 if (Bandwidth==HT_CHANNEL_WIDTH_20_40 && (!ieee->GetHalfNmodeSupportByAPsHandler(ieee)))
1683 { 1683 {
1684 // Handle Illegal extention channel offset!! 1684 // Handle Illegal extention channel offset!!
1685 if(ieee->current_network.channel<2 && Offset==HT_EXTCHNL_OFFSET_LOWER) 1685 if(ieee->current_network.channel<2 && Offset==HT_EXTCHNL_OFFSET_LOWER)
@@ -1722,10 +1722,10 @@ void HTSetConnectBwModeCallback(struct ieee80211_device* ieee)
1722 else 1722 else
1723 ieee->set_chan(ieee, ieee->current_network.channel); 1723 ieee->set_chan(ieee, ieee->current_network.channel);
1724 1724
1725 ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20_40, pHTInfo->CurSTAExtChnlOffset); 1725 ieee->SetBWModeHandler(ieee, HT_CHANNEL_WIDTH_20_40, pHTInfo->CurSTAExtChnlOffset);
1726 } else { 1726 } else {
1727 ieee->set_chan(ieee, ieee->current_network.channel); 1727 ieee->set_chan(ieee, ieee->current_network.channel);
1728 ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT); 1728 ieee->SetBWModeHandler(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
1729 } 1729 }
1730 1730
1731 pHTInfo->bSwBwInProgress = false; 1731 pHTInfo->bSwBwInProgress = false;
diff --git a/drivers/staging/rtl8192e/r8192E_core.c b/drivers/staging/rtl8192e/r8192E_core.c
index 661c904ea8f7..d1cb5283c9da 100644
--- a/drivers/staging/rtl8192e/r8192E_core.c
+++ b/drivers/staging/rtl8192e/r8192E_core.c
@@ -583,9 +583,9 @@ static void rtl8192_proc_init_one(struct r8192_priv *priv)
583 } 583 }
584} 584}
585 585
586static short check_nic_enough_desc(struct net_device *dev, int prio) 586static short check_nic_enough_desc(struct ieee80211_device *ieee, int prio)
587{ 587{
588 struct r8192_priv *priv = ieee80211_priv(dev); 588 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
589 struct rtl8192_tx_ring *ring = &priv->tx_ring[prio]; 589 struct rtl8192_tx_ring *ring = &priv->tx_ring[prio];
590 590
591 /* for now we reserve two free descriptor as a safety boundary 591 /* 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,
1597} 1597}
1598 1598
1599/* handle manage frame frame beacon and probe response */ 1599/* handle manage frame frame beacon and probe response */
1600static int rtl8192_handle_beacon(struct net_device * dev, 1600static int rtl8192_handle_beacon(struct ieee80211_device *ieee,
1601 struct ieee80211_beacon * beacon, 1601 struct ieee80211_beacon * beacon,
1602 struct ieee80211_network * network) 1602 struct ieee80211_network * network)
1603{ 1603{
1604 struct r8192_priv *priv = ieee80211_priv(dev); 1604 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
1605 1605
1606 rtl8192_qos_handle_probe_response(priv,1,network); 1606 rtl8192_qos_handle_probe_response(priv,1,network);
1607 1607
@@ -1663,11 +1663,11 @@ static int rtl8192_qos_association_resp(struct r8192_priv *priv,
1663} 1663}
1664 1664
1665 1665
1666static int rtl8192_handle_assoc_response(struct net_device *dev, 1666static int rtl8192_handle_assoc_response(struct ieee80211_device *ieee,
1667 struct ieee80211_assoc_response_frame *resp, 1667 struct ieee80211_assoc_response_frame *resp,
1668 struct ieee80211_network *network) 1668 struct ieee80211_network *network)
1669{ 1669{
1670 struct r8192_priv *priv = ieee80211_priv(dev); 1670 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
1671 rtl8192_qos_association_resp(priv, network); 1671 rtl8192_qos_association_resp(priv, network);
1672 return 0; 1672 return 0;
1673} 1673}
@@ -1719,11 +1719,8 @@ static void rtl8192_update_ratr_table(struct r8192_priv* priv)
1719 write_nic_byte(priv, UFWP, 1); 1719 write_nic_byte(priv, UFWP, 1);
1720} 1720}
1721 1721
1722static bool GetNmodeSupportBySecCfg8190Pci(struct net_device*dev) 1722static bool GetNmodeSupportBySecCfg8190Pci(struct ieee80211_device *ieee)
1723{ 1723{
1724 struct r8192_priv *priv = ieee80211_priv(dev);
1725 struct ieee80211_device *ieee = priv->ieee80211;
1726
1727 return !(ieee->rtllib_ap_sec_type && 1724 return !(ieee->rtllib_ap_sec_type &&
1728 (ieee->rtllib_ap_sec_type(ieee)&(SEC_ALG_WEP|SEC_ALG_TKIP))); 1725 (ieee->rtllib_ap_sec_type(ieee)&(SEC_ALG_WEP|SEC_ALG_TKIP)));
1729} 1726}
@@ -1745,9 +1742,9 @@ static u8 rtl8192_getSupportedWireleeMode(void)
1745 return (WIRELESS_MODE_N_24G|WIRELESS_MODE_G|WIRELESS_MODE_B); 1742 return (WIRELESS_MODE_N_24G|WIRELESS_MODE_G|WIRELESS_MODE_B);
1746} 1743}
1747 1744
1748static void rtl8192_SetWirelessMode(struct net_device* dev, u8 wireless_mode) 1745static void rtl8192_SetWirelessMode(struct ieee80211_device *ieee, u8 wireless_mode)
1749{ 1746{
1750 struct r8192_priv *priv = ieee80211_priv(dev); 1747 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
1751 u8 bSupportMode = rtl8192_getSupportedWireleeMode(); 1748 u8 bSupportMode = rtl8192_getSupportedWireleeMode();
1752 1749
1753 if ((wireless_mode == WIRELESS_MODE_AUTO) || ((wireless_mode&bSupportMode)==0)) 1750 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)
1787 rtl8192_refresh_supportrate(priv); 1784 rtl8192_refresh_supportrate(priv);
1788} 1785}
1789 1786
1790static bool GetHalfNmodeSupportByAPs819xPci(struct net_device* dev) 1787static bool GetHalfNmodeSupportByAPs819xPci(struct ieee80211_device* ieee)
1791{ 1788{
1792 struct r8192_priv* priv = ieee80211_priv(dev);
1793 struct ieee80211_device* ieee = priv->ieee80211;
1794
1795 return ieee->bHalfWirelessN24GMode; 1789 return ieee->bHalfWirelessN24GMode;
1796} 1790}
1797 1791
1798static short rtl8192_is_tx_queue_empty(struct net_device *dev) 1792static short rtl8192_is_tx_queue_empty(struct ieee80211_device *ieee)
1799{ 1793{
1800 int i=0; 1794 int i=0;
1801 struct r8192_priv *priv = ieee80211_priv(dev); 1795 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
1796
1802 for (i=0; i<=MGNT_QUEUE; i++) 1797 for (i=0; i<=MGNT_QUEUE; i++)
1803 { 1798 {
1804 if ((i== TXCMD_QUEUE) || (i == HCCA_QUEUE) ) 1799 if ((i== TXCMD_QUEUE) || (i == HCCA_QUEUE) )
@@ -1816,9 +1811,9 @@ static void rtl8192_hw_sleep_down(struct r8192_priv *priv)
1816 MgntActSet_RF_State(priv, eRfSleep, RF_CHANGE_BY_PS); 1811 MgntActSet_RF_State(priv, eRfSleep, RF_CHANGE_BY_PS);
1817} 1812}
1818 1813
1819static void rtl8192_hw_wakeup(struct net_device* dev) 1814static void rtl8192_hw_wakeup(struct ieee80211_device *ieee)
1820{ 1815{
1821 struct r8192_priv *priv = ieee80211_priv(dev); 1816 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
1822 MgntActSet_RF_State(priv, eRfOn, RF_CHANGE_BY_PS); 1817 MgntActSet_RF_State(priv, eRfOn, RF_CHANGE_BY_PS);
1823} 1818}
1824 1819
@@ -1826,16 +1821,15 @@ static void rtl8192_hw_wakeup_wq (struct work_struct *work)
1826{ 1821{
1827 struct delayed_work *dwork = container_of(work,struct delayed_work,work); 1822 struct delayed_work *dwork = container_of(work,struct delayed_work,work);
1828 struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,hw_wakeup_wq); 1823 struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,hw_wakeup_wq);
1829 struct net_device *dev = ieee->dev;
1830 rtl8192_hw_wakeup(dev);
1831 1824
1825 rtl8192_hw_wakeup(ieee);
1832} 1826}
1833 1827
1834#define MIN_SLEEP_TIME 50 1828#define MIN_SLEEP_TIME 50
1835#define MAX_SLEEP_TIME 10000 1829#define MAX_SLEEP_TIME 10000
1836static void rtl8192_hw_to_sleep(struct net_device *dev, u32 th, u32 tl) 1830static void rtl8192_hw_to_sleep(struct ieee80211_device *ieee, u32 th, u32 tl)
1837{ 1831{
1838 struct r8192_priv *priv = ieee80211_priv(dev); 1832 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
1839 u32 tmp; 1833 u32 tmp;
1840 u32 rb = jiffies; 1834 u32 rb = jiffies;
1841 1835
@@ -2658,7 +2652,7 @@ static RT_STATUS rtl8192_adapter_start(struct r8192_priv *priv)
2658 write_nic_byte(priv, ACK_TIMEOUT, 0x30); 2652 write_nic_byte(priv, ACK_TIMEOUT, 0x30);
2659 2653
2660 if(priv->ResetProgress == RESET_TYPE_NORESET) 2654 if(priv->ResetProgress == RESET_TYPE_NORESET)
2661 rtl8192_SetWirelessMode(dev, priv->ieee80211->mode); 2655 rtl8192_SetWirelessMode(priv->ieee80211, priv->ieee80211->mode);
2662 //----------------------------------------------------------------------------- 2656 //-----------------------------------------------------------------------------
2663 // Set up security related. 070106, by rcnjko: 2657 // Set up security related. 070106, by rcnjko:
2664 // 1. Clear all H/W keys. 2658 // 1. Clear all H/W keys.
@@ -3055,7 +3049,7 @@ bool MgntActSet_802_11_PowerSaveMode(struct r8192_priv *priv, u8 rtPsMode)
3055 if(priv->ieee80211->sta_sleep != 0 && rtPsMode == IEEE80211_PS_DISABLED) 3049 if(priv->ieee80211->sta_sleep != 0 && rtPsMode == IEEE80211_PS_DISABLED)
3056 { 3050 {
3057 // Notify the AP we awke. 3051 // Notify the AP we awke.
3058 rtl8192_hw_wakeup(priv->ieee80211->dev); 3052 rtl8192_hw_wakeup(priv->ieee80211);
3059 priv->ieee80211->sta_sleep = 0; 3053 priv->ieee80211->sta_sleep = 0;
3060 3054
3061 spin_lock(&priv->ieee80211->mgmt_tx_lock); 3055 spin_lock(&priv->ieee80211->mgmt_tx_lock);
@@ -4294,13 +4288,12 @@ static void TranslateRxSignalStuff819xpci(struct r8192_priv *priv,
4294static void rtl8192_tx_resume(struct r8192_priv *priv) 4288static void rtl8192_tx_resume(struct r8192_priv *priv)
4295{ 4289{
4296 struct ieee80211_device *ieee = priv->ieee80211; 4290 struct ieee80211_device *ieee = priv->ieee80211;
4297 struct net_device *dev = priv->ieee80211->dev;
4298 struct sk_buff *skb; 4291 struct sk_buff *skb;
4299 int i; 4292 int i;
4300 4293
4301 for (i = BK_QUEUE; i < TXCMD_QUEUE; i++) { 4294 for (i = BK_QUEUE; i < TXCMD_QUEUE; i++) {
4302 while ((!skb_queue_empty(&ieee->skb_waitQ[i])) && 4295 while ((!skb_queue_empty(&ieee->skb_waitQ[i])) &&
4303 (priv->ieee80211->check_nic_enough_desc(dev, i) > 0)) { 4296 (priv->ieee80211->check_nic_enough_desc(ieee, i) > 0)) {
4304 /* 1. dequeue the packet from the wait queue */ 4297 /* 1. dequeue the packet from the wait queue */
4305 skb = skb_dequeue(&ieee->skb_waitQ[i]); 4298 skb = skb_dequeue(&ieee->skb_waitQ[i]);
4306 /* 2. tx the packet directly */ 4299 /* 2. tx the packet directly */
@@ -4313,7 +4306,6 @@ static void rtl8192_irq_tx_tasklet(unsigned long arg)
4313{ 4306{
4314 struct r8192_priv *priv = (struct r8192_priv*) arg; 4307 struct r8192_priv *priv = (struct r8192_priv*) arg;
4315 struct rtl8192_tx_ring *mgnt_ring = &priv->tx_ring[MGNT_QUEUE]; 4308 struct rtl8192_tx_ring *mgnt_ring = &priv->tx_ring[MGNT_QUEUE];
4316 struct net_device *dev = priv->ieee80211->dev;
4317 unsigned long flags; 4309 unsigned long flags;
4318 4310
4319 /* check if we need to report that the management queue is drained */ 4311 /* 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)
4321 4313
4322 if (!skb_queue_len(&mgnt_ring->queue) && 4314 if (!skb_queue_len(&mgnt_ring->queue) &&
4323 priv->ieee80211->ack_tx_to_ieee && 4315 priv->ieee80211->ack_tx_to_ieee &&
4324 rtl8192_is_tx_queue_empty(dev)) { 4316 rtl8192_is_tx_queue_empty(priv->ieee80211)) {
4325 priv->ieee80211->ack_tx_to_ieee = 0; 4317 priv->ieee80211->ack_tx_to_ieee = 0;
4326 ieee80211_ps_tx_ack(priv->ieee80211, 1); 4318 ieee80211_ps_tx_ack(priv->ieee80211, 1);
4327 } 4319 }
diff --git a/drivers/staging/rtl8192e/r8192E_dm.c b/drivers/staging/rtl8192e/r8192E_dm.c
index 974555bd3c6f..68ac73e4c7f0 100644
--- a/drivers/staging/rtl8192e/r8192E_dm.c
+++ b/drivers/staging/rtl8192e/r8192E_dm.c
@@ -313,7 +313,7 @@ static void dm_check_rate_adaptive(struct r8192_priv *priv)
313 } 313 }
314 314
315 // For RTL819X, if pairwisekey = wep/tkip, we support only MCS0~7. 315 // For RTL819X, if pairwisekey = wep/tkip, we support only MCS0~7.
316 if(priv->ieee80211->GetHalfNmodeSupportByAPsHandler(priv->ieee80211->dev)) 316 if(priv->ieee80211->GetHalfNmodeSupportByAPsHandler(priv->ieee80211))
317 targetRATR &= 0xf00fffff; 317 targetRATR &= 0xf00fffff;
318 318
319 // 319 //
diff --git a/drivers/staging/rtl8192e/r819xE_phy.c b/drivers/staging/rtl8192e/r819xE_phy.c
index 338fb04a5f32..dfa4e112ef46 100644
--- a/drivers/staging/rtl8192e/r819xE_phy.c
+++ b/drivers/staging/rtl8192e/r819xE_phy.c
@@ -2125,9 +2125,9 @@ void rtl8192_SetBWModeWorkItem(struct r8192_priv *priv)
2125 * Note: I doubt whether SetBWModeInProgress flag is necessary as we can 2125 * Note: I doubt whether SetBWModeInProgress flag is necessary as we can
2126 * test whether current work in the queue or not.//do I? 2126 * test whether current work in the queue or not.//do I?
2127 * ***************************************************************************/ 2127 * ***************************************************************************/
2128void rtl8192_SetBWMode(struct net_device *dev, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset) 2128void rtl8192_SetBWMode(struct ieee80211_device *ieee, HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset)
2129{ 2129{
2130 struct r8192_priv *priv = ieee80211_priv(dev); 2130 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
2131 2131
2132 2132
2133 if(priv->SetBWModeInProgress) 2133 if(priv->SetBWModeInProgress)
@@ -2152,11 +2152,11 @@ void rtl8192_SetBWMode(struct net_device *dev, HT_CHANNEL_WIDTH Bandwidth, HT_EX
2152} 2152}
2153 2153
2154 2154
2155void InitialGain819xPci(struct net_device *dev, u8 Operation) 2155void InitialGain819xPci(struct ieee80211_device *ieee, u8 Operation)
2156{ 2156{
2157#define SCAN_RX_INITIAL_GAIN 0x17 2157#define SCAN_RX_INITIAL_GAIN 0x17
2158#define POWER_DETECTION_TH 0x08 2158#define POWER_DETECTION_TH 0x08
2159 struct r8192_priv *priv = ieee80211_priv(dev); 2159 struct r8192_priv *priv = ieee80211_priv(ieee->dev);
2160 u32 BitMask; 2160 u32 BitMask;
2161 u8 initial_gain; 2161 u8 initial_gain;
2162 2162
diff --git a/drivers/staging/rtl8192e/r819xE_phy.h b/drivers/staging/rtl8192e/r819xE_phy.h
index faab39b70ebf..496e76fbadbc 100644
--- a/drivers/staging/rtl8192e/r819xE_phy.h
+++ b/drivers/staging/rtl8192e/r819xE_phy.h
@@ -119,13 +119,13 @@ u8 rtl8192_phy_ConfigRFWithHeaderFile(struct r8192_priv *priv,
119 119
120u8 rtl8192_phy_SwChnl(struct ieee80211_device *ieee80211, u8 channel); 120u8 rtl8192_phy_SwChnl(struct ieee80211_device *ieee80211, u8 channel);
121 121
122void rtl8192_SetBWMode(struct net_device *dev, 122void rtl8192_SetBWMode(struct ieee80211_device *ieee80211,
123 HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset); 123 HT_CHANNEL_WIDTH Bandwidth, HT_EXTCHNL_OFFSET Offset);
124 124
125void rtl8192_SwChnl_WorkItem(struct r8192_priv *priv); 125void rtl8192_SwChnl_WorkItem(struct r8192_priv *priv);
126 126
127void rtl8192_SetBWModeWorkItem(struct r8192_priv *priv); 127void rtl8192_SetBWModeWorkItem(struct r8192_priv *priv);
128 128
129void InitialGain819xPci(struct net_device *dev, u8 Operation); 129void InitialGain819xPci(struct ieee80211_device *ieee, u8 Operation);
130 130
131#endif /* _R819XU_PHY_H */ 131#endif /* _R819XU_PHY_H */