|
@@ -503,34 +503,11 @@ out:
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
|
|
|
-/* called both by wq with ieee->lock held */
|
|
|
-void ieee80211_softmac_scan(struct ieee80211_device *ieee)
|
|
|
-{
|
|
|
-#if 0
|
|
|
- short watchdog = 0;
|
|
|
- do{
|
|
|
- ieee->current_network.channel =
|
|
|
- (ieee->current_network.channel + 1) % MAX_CHANNEL_NUMBER;
|
|
|
- if (watchdog++ > MAX_CHANNEL_NUMBER)
|
|
|
- return; /* no good chans */
|
|
|
-
|
|
|
- }while(!ieee->channel_map[ieee->current_network.channel]);
|
|
|
-#endif
|
|
|
-
|
|
|
- schedule_task(&ieee->softmac_scan_wq);
|
|
|
-}
|
|
|
-#endif
|
|
|
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
|
void ieee80211_softmac_scan_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, softmac_scan_wq);
|
|
|
-#else
|
|
|
-void ieee80211_softmac_scan_wq(struct ieee80211_device *ieee)
|
|
|
-{
|
|
|
-#endif
|
|
|
static short watchdog = 0;
|
|
|
#ifdef ENABLE_DOT11D
|
|
|
u8 channel_map[MAX_CHANNEL_NUMBER+1];
|
|
@@ -567,13 +544,7 @@ void ieee80211_softmac_scan_wq(struct ieee80211_device *ieee)
|
|
|
ieee80211_send_probe_requests(ieee);
|
|
|
|
|
|
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_delayed_work(ieee->wq, &ieee->softmac_scan_wq, IEEE80211_SOFTMAC_SCAN_TIME);
|
|
|
-#else
|
|
|
- //ieee->scan_timer.expires = jiffies + MSECS(IEEE80211_SOFTMAC_SCAN_TIME);
|
|
|
- if (ieee->scanning == 1)
|
|
|
- mod_timer(&ieee->scan_timer,(jiffies + MSECS(IEEE80211_SOFTMAC_SCAN_TIME)));
|
|
|
-#endif
|
|
|
|
|
|
up(&ieee->scan_sem);
|
|
|
return;
|
|
@@ -588,17 +559,6 @@ out:
|
|
|
up(&ieee->scan_sem);
|
|
|
}
|
|
|
|
|
|
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
|
|
|
-void ieee80211_softmac_scan_cb(unsigned long _dev)
|
|
|
-{
|
|
|
- unsigned long flags;
|
|
|
- struct ieee80211_device *ieee = (struct ieee80211_device *)_dev;
|
|
|
-
|
|
|
- spin_lock_irqsave(&ieee->lock, flags);
|
|
|
- ieee80211_softmac_scan(ieee);
|
|
|
- spin_unlock_irqrestore(&ieee->lock, flags);
|
|
|
-}
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
void ieee80211_beacons_start(struct ieee80211_device *ieee)
|
|
@@ -656,11 +616,7 @@ void ieee80211_softmac_stop_scan(struct ieee80211_device *ieee)
|
|
|
if (ieee->scanning == 1){
|
|
|
ieee->scanning = 0;
|
|
|
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
cancel_delayed_work(&ieee->softmac_scan_wq);
|
|
|
-#else
|
|
|
- del_timer_sync(&ieee->scan_timer);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
// spin_unlock_irqrestore(&ieee->lock, flags);
|
|
@@ -690,16 +646,7 @@ void ieee80211_start_scan(struct ieee80211_device *ieee)
|
|
|
if (ieee->softmac_features & IEEE_SOFTMAC_SCAN){
|
|
|
if (ieee->scanning == 0){
|
|
|
ieee->scanning = 1;
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
|
|
|
queue_delayed_work(ieee->wq, &ieee->softmac_scan_wq, 0);
|
|
|
-#else
|
|
|
-
|
|
|
- queue_work(ieee->wq, &ieee->softmac_scan_wq);
|
|
|
-#endif
|
|
|
-#else
|
|
|
- ieee80211_softmac_scan(ieee);
|
|
|
-#endif
|
|
|
}
|
|
|
}else
|
|
|
ieee->start_scan(ieee->dev);
|
|
@@ -800,22 +747,10 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
else
|
|
|
atim_len = 0;
|
|
|
|
|
|
-#if 1
|
|
|
if(ieee80211_is_54g(ieee->current_network))
|
|
|
erp_len = 3;
|
|
|
else
|
|
|
erp_len = 0;
|
|
|
-#else
|
|
|
- if((ieee->current_network.mode == IEEE_G)
|
|
|
- ||( ieee->current_network.mode == IEEE_N_24G && ieee->pHTInfo->bCurSuppCCK)) {
|
|
|
- erp_len = 3;
|
|
|
- erpinfo_content = 0;
|
|
|
- if(ieee->current_network.buseprotection)
|
|
|
- erpinfo_content |= ERP_UseProtection;
|
|
|
- }
|
|
|
- else
|
|
|
- erp_len = 0;
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
crypt = ieee->crypt[ieee->tx_keyidx];
|
|
@@ -824,7 +759,6 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
encrypt = ieee->host_encrypt && crypt && crypt->ops &&
|
|
|
((0 == strcmp(crypt->ops->name, "WEP") || wpa_ie_len));
|
|
|
//HT ralated element
|
|
|
-#if 1
|
|
|
tmp_ht_cap_buf =(u8*) &(ieee->pHTInfo->SelfHTCap);
|
|
|
tmp_ht_cap_len = sizeof(ieee->pHTInfo->SelfHTCap);
|
|
|
tmp_ht_info_buf =(u8*) &(ieee->pHTInfo->SelfHTInfo);
|
|
@@ -840,7 +774,6 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
HTConstructRT2RTAggElement(ieee, tmp_generic_ie_buf, &tmp_generic_ie_len);
|
|
|
}
|
|
|
// printk("===============>tmp_ht_cap_len is %d,tmp_ht_info_len is %d, tmp_generic_ie_len is %d\n",tmp_ht_cap_len,tmp_ht_info_len,tmp_generic_ie_len);
|
|
|
-#endif
|
|
|
beacon_size = sizeof(struct ieee80211_probe_response)+2+
|
|
|
ssid_len
|
|
|
+3 //channel
|
|
@@ -875,10 +808,6 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
cpu_to_le16((beacon_buf->capability |= WLAN_CAPABILITY_SHORT_SLOT));
|
|
|
|
|
|
crypt = ieee->crypt[ieee->tx_keyidx];
|
|
|
-#if 0
|
|
|
- encrypt = ieee->host_encrypt && crypt && crypt->ops &&
|
|
|
- (0 == strcmp(crypt->ops->name, "WEP"));
|
|
|
-#endif
|
|
|
if (encrypt)
|
|
|
beacon_buf->capability |= cpu_to_le16(WLAN_CAPABILITY_PRIVACY);
|
|
|
|
|
@@ -917,14 +846,6 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
*(tag++) = 1;
|
|
|
*(tag++) = erpinfo_content;
|
|
|
}
|
|
|
-#if 0
|
|
|
- //Include High Throuput capability
|
|
|
-
|
|
|
- *(tag++) = MFIE_TYPE_HT_CAP;
|
|
|
- *(tag++) = tmp_ht_cap_len - 2;
|
|
|
- memcpy(tag, tmp_ht_cap_buf, tmp_ht_cap_len - 2);
|
|
|
- tag += tmp_ht_cap_len - 2;
|
|
|
-#endif
|
|
|
if(rate_ex_len){
|
|
|
*(tag++) = MFIE_TYPE_RATES_EX;
|
|
|
*(tag++) = rate_ex_len-2;
|
|
@@ -932,14 +853,6 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
tag+=rate_ex_len-2;
|
|
|
}
|
|
|
|
|
|
-#if 0
|
|
|
- //Include High Throuput info
|
|
|
-
|
|
|
- *(tag++) = MFIE_TYPE_HT_INFO;
|
|
|
- *(tag++) = tmp_ht_info_len - 2;
|
|
|
- memcpy(tag, tmp_ht_info_buf, tmp_ht_info_len -2);
|
|
|
- tag += tmp_ht_info_len - 2;
|
|
|
-#endif
|
|
|
if (wpa_ie_len)
|
|
|
{
|
|
|
if (ieee->iw_mode == IW_MODE_ADHOC)
|
|
@@ -950,28 +863,6 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d
|
|
|
tag += wpa_ie_len;
|
|
|
}
|
|
|
|
|
|
-#if 0
|
|
|
- //
|
|
|
- // Construct Realtek Proprietary Aggregation mode (Set AMPDU Factor to 2, 32k)
|
|
|
- //
|
|
|
- if(pHTInfo->bRegRT2RTAggregation)
|
|
|
- {
|
|
|
- (*tag++) = 0xdd;
|
|
|
- (*tag++) = tmp_generic_ie_len - 2;
|
|
|
- memcpy(tag,tmp_generic_ie_buf,tmp_generic_ie_len -2);
|
|
|
- tag += tmp_generic_ie_len -2;
|
|
|
-
|
|
|
- }
|
|
|
-#endif
|
|
|
-#if 0
|
|
|
- if(ieee->qos_support)
|
|
|
- {
|
|
|
- (*tag++) = 0xdd;
|
|
|
- (*tag++) = wmm_len;
|
|
|
- memcpy(tag,QosOui,wmm_len);
|
|
|
- tag += wmm_len;
|
|
|
- }
|
|
|
-#endif
|
|
|
//skb->dev = ieee->dev;
|
|
|
return skb;
|
|
|
}
|
|
@@ -1380,12 +1271,8 @@ void ieee80211_associate_abort(struct ieee80211_device *ieee)
|
|
|
|
|
|
ieee->state = IEEE80211_ASSOCIATING_RETRY;
|
|
|
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_delayed_work(ieee->wq, &ieee->associate_retry_wq, \
|
|
|
IEEE80211_SOFTMAC_ASSOC_RETRY_TIME);
|
|
|
-#else
|
|
|
- schedule_task(&ieee->associate_retry_wq);
|
|
|
-#endif
|
|
|
|
|
|
spin_unlock_irqrestore(&ieee->lock, flags);
|
|
|
}
|
|
@@ -1447,10 +1334,6 @@ void ieee80211_auth_challenge(struct ieee80211_device *ieee, u8 *challenge, int
|
|
|
|
|
|
softmac_mgmt_xmit(skb, ieee);
|
|
|
mod_timer(&ieee->associate_timer, jiffies + (HZ/2));
|
|
|
-#if 0
|
|
|
- ieee->associate_timer.expires = jiffies + (HZ / 2);
|
|
|
- add_timer(&ieee->associate_timer);
|
|
|
-#endif
|
|
|
//dev_kfree_skb_any(skb);//edit by thomas
|
|
|
}
|
|
|
kfree(challenge);
|
|
@@ -1472,21 +1355,12 @@ void ieee80211_associate_step2(struct ieee80211_device *ieee)
|
|
|
else{
|
|
|
softmac_mgmt_xmit(skb, ieee);
|
|
|
mod_timer(&ieee->associate_timer, jiffies + (HZ/2));
|
|
|
-#if 0
|
|
|
- ieee->associate_timer.expires = jiffies + (HZ / 2);
|
|
|
- add_timer(&ieee->associate_timer);
|
|
|
-#endif
|
|
|
//dev_kfree_skb_any(skb);//edit by thomas
|
|
|
}
|
|
|
}
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
|
void ieee80211_associate_complete_wq(struct work_struct *work)
|
|
|
{
|
|
|
struct ieee80211_device *ieee = container_of(work, struct ieee80211_device, associate_complete_wq);
|
|
|
-#else
|
|
|
-void ieee80211_associate_complete_wq(struct ieee80211_device *ieee)
|
|
|
-{
|
|
|
-#endif
|
|
|
printk(KERN_INFO "Associated successfully\n");
|
|
|
if(ieee80211_is_54g(ieee->current_network) &&
|
|
|
(ieee->modulation & IEEE80211_OFDM_MODULATION)){
|
|
@@ -1537,41 +1411,14 @@ void ieee80211_associate_complete(struct ieee80211_device *ieee)
|
|
|
// struct net_device* dev = ieee->dev;
|
|
|
del_timer_sync(&ieee->associate_timer);
|
|
|
|
|
|
-#if 0
|
|
|
- for(i = 0; i < 6; i++) {
|
|
|
- ieee->seq_ctrl[i] = 0;
|
|
|
- }
|
|
|
-#endif
|
|
|
ieee->state = IEEE80211_LINKED;
|
|
|
-#if 0
|
|
|
- if (ieee->pHTInfo->bCurrentHTSupport)
|
|
|
- {
|
|
|
- printk("Successfully associated, ht enabled\n");
|
|
|
- queue_work(ieee->wq, &ieee->ht_onAssRsp);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- printk("Successfully associated, ht not enabled\n");
|
|
|
- memset(ieee->dot11HTOperationalRateSet, 0, 16);
|
|
|
- HTSetConnectBwMode(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
|
|
|
- }
|
|
|
-#endif
|
|
|
//ieee->UpdateHalRATRTableHandler(dev, ieee->dot11HTOperationalRateSet);
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_work(ieee->wq, &ieee->associate_complete_wq);
|
|
|
-#else
|
|
|
- schedule_task(&ieee->associate_complete_wq);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
|
void ieee80211_associate_procedure_wq(struct work_struct *work)
|
|
|
{
|
|
|
struct ieee80211_device *ieee = container_of(work, struct ieee80211_device, associate_procedure_wq);
|
|
|
-#else
|
|
|
-void ieee80211_associate_procedure_wq(struct ieee80211_device *ieee)
|
|
|
-{
|
|
|
-#endif
|
|
|
ieee->sync_scan_hurryup = 1;
|
|
|
down(&ieee->wx_sem);
|
|
|
|
|
@@ -1669,11 +1516,7 @@ inline void ieee80211_softmac_new_net(struct ieee80211_device *ieee, struct ieee
|
|
|
}
|
|
|
|
|
|
ieee->state = IEEE80211_ASSOCIATING;
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_work(ieee->wq, &ieee->associate_procedure_wq);
|
|
|
-#else
|
|
|
- schedule_task(&ieee->associate_procedure_wq);
|
|
|
-#endif
|
|
|
}else{
|
|
|
if(ieee80211_is_54g(ieee->current_network) &&
|
|
|
(ieee->modulation & IEEE80211_OFDM_MODULATION)){
|
|
@@ -1890,11 +1733,6 @@ ieee80211_rx_assoc_rq(struct ieee80211_device *ieee, struct sk_buff *skb)
|
|
|
|
|
|
printk(KERN_INFO"New client associated: "MAC_FMT"\n", MAC_ARG(dest));
|
|
|
//FIXME
|
|
|
- #if 0
|
|
|
- spin_lock_irqsave(&ieee->lock,flags);
|
|
|
- add_associate(ieee,dest);
|
|
|
- spin_unlock_irqrestore(&ieee->lock,flags);
|
|
|
- #endif
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2179,11 +2017,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
|
|
|
"Association response status code 0x%x\n",
|
|
|
errcode);
|
|
|
if(ieee->AsocRetryCount < RT_ASOC_RETRY_LIMIT) {
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_work(ieee->wq, &ieee->associate_procedure_wq);
|
|
|
-#else
|
|
|
- schedule_task(&ieee->associate_procedure_wq);
|
|
|
-#endif
|
|
|
} else {
|
|
|
ieee80211_associate_abort(ieee);
|
|
|
}
|
|
@@ -2290,11 +2124,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
|
|
|
notify_wx_assoc_event(ieee);
|
|
|
//HTSetConnectBwMode(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
|
|
|
RemovePeerTS(ieee, header->addr2);
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_work(ieee->wq, &ieee->associate_procedure_wq);
|
|
|
-#else
|
|
|
- schedule_task(&ieee->associate_procedure_wq);
|
|
|
-#endif
|
|
|
}
|
|
|
break;
|
|
|
case IEEE80211_STYPE_MANAGE_ACT:
|
|
@@ -2347,7 +2177,6 @@ void ieee80211_softmac_xmit(struct ieee80211_txb *txb, struct ieee80211_device *
|
|
|
if(tcb_desc->bMulticast) {
|
|
|
ieee->stats.multicast++;
|
|
|
}
|
|
|
-#if 1
|
|
|
/* if xmit available, just xmit it immediately, else just insert it to the wait queue */
|
|
|
for(i = 0; i < txb->nr_frags; i++) {
|
|
|
#ifdef USB_TX_DRIVER_AGGREGATION_ENABLE
|
|
@@ -2377,7 +2206,6 @@ void ieee80211_softmac_xmit(struct ieee80211_txb *txb, struct ieee80211_device *
|
|
|
//ieee->dev->trans_start = jiffies;
|
|
|
}
|
|
|
}
|
|
|
-#endif
|
|
|
ieee80211_txb_free(txb);
|
|
|
|
|
|
//exit:
|
|
@@ -2531,16 +2359,11 @@ void ieee80211_start_monitor_mode(struct ieee80211_device *ieee)
|
|
|
netif_carrier_on(ieee->dev);
|
|
|
}
|
|
|
}
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
|
void ieee80211_start_ibss_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, start_ibss_wq);
|
|
|
-#else
|
|
|
-void ieee80211_start_ibss_wq(struct ieee80211_device *ieee)
|
|
|
-{
|
|
|
-#endif
|
|
|
/* iwconfig mode ad-hoc will schedule this and return
|
|
|
* on the other hand this will block further iwconfig SET
|
|
|
* operations because of the wx_sem hold.
|
|
@@ -2650,11 +2473,7 @@ void ieee80211_start_ibss_wq(struct ieee80211_device *ieee)
|
|
|
|
|
|
inline void ieee80211_start_ibss(struct ieee80211_device *ieee)
|
|
|
{
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
queue_delayed_work(ieee->wq, &ieee->start_ibss_wq, 150);
|
|
|
-#else
|
|
|
- schedule_task(&ieee->start_ibss_wq);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
/* this is called only in user context, with wx_sem held */
|
|
@@ -2719,15 +2538,10 @@ void ieee80211_disassociate(struct ieee80211_device *ieee)
|
|
|
notify_wx_assoc_event(ieee);
|
|
|
|
|
|
}
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
|
|
void ieee80211_associate_retry_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, associate_retry_wq);
|
|
|
-#else
|
|
|
-void ieee80211_associate_retry_wq(struct ieee80211_device *ieee)
|
|
|
-{
|
|
|
-#endif
|
|
|
unsigned long flags;
|
|
|
|
|
|
down(&ieee->wx_sem);
|
|
@@ -2822,10 +2636,8 @@ void ieee80211_stop_protocol(struct ieee80211_device *ieee)
|
|
|
|
|
|
ieee80211_stop_send_beacons(ieee);
|
|
|
del_timer_sync(&ieee->associate_timer);
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
cancel_delayed_work(&ieee->associate_retry_wq);
|
|
|
cancel_delayed_work(&ieee->start_ibss_wq);
|
|
|
-#endif
|
|
|
ieee80211_stop_scan(ieee);
|
|
|
|
|
|
ieee80211_disassociate(ieee);
|
|
@@ -2943,11 +2755,6 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
|
|
|
ieee->sta_edca_param[3] = 0x002F3262;
|
|
|
ieee->aggregation = true;
|
|
|
ieee->enable_rx_imm_BA = 1;
|
|
|
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
|
|
|
- init_timer(&ieee->scan_timer);
|
|
|
- ieee->scan_timer.data = (unsigned long)ieee;
|
|
|
- ieee->scan_timer.function = ieee80211_softmac_scan_cb;
|
|
|
-#endif
|
|
|
ieee->tx_pending.txb = NULL;
|
|
|
|
|
|
init_timer(&ieee->associate_timer);
|
|
@@ -2958,16 +2765,12 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
|
|
|
ieee->beacon_timer.data = (unsigned long) ieee;
|
|
|
ieee->beacon_timer.function = ieee80211_send_beacon_cb;
|
|
|
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
#ifdef PF_SYNCTHREAD
|
|
|
ieee->wq = create_workqueue(DRV_NAME,0);
|
|
|
#else
|
|
|
ieee->wq = create_workqueue(DRV_NAME);
|
|
|
#endif
|
|
|
-#endif
|
|
|
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
|
|
|
INIT_DELAYED_WORK(&ieee->start_ibss_wq,ieee80211_start_ibss_wq);
|
|
|
INIT_WORK(&ieee->associate_complete_wq, ieee80211_associate_complete_wq);
|
|
|
INIT_WORK(&ieee->associate_procedure_wq, ieee80211_associate_procedure_wq);
|
|
@@ -2975,23 +2778,7 @@ void ieee80211_softmac_init(struct ieee80211_device *ieee)
|
|
|
INIT_DELAYED_WORK(&ieee->associate_retry_wq, ieee80211_associate_retry_wq);
|
|
|
INIT_WORK(&ieee->wx_sync_scan_wq,ieee80211_wx_sync_scan_wq);
|
|
|
|
|
|
-#else
|
|
|
- INIT_WORK(&ieee->start_ibss_wq,(void(*)(void*)) ieee80211_start_ibss_wq,ieee);
|
|
|
- INIT_WORK(&ieee->associate_retry_wq,(void(*)(void*)) ieee80211_associate_retry_wq,ieee);
|
|
|
- INIT_WORK(&ieee->associate_complete_wq,(void(*)(void*)) ieee80211_associate_complete_wq,ieee);
|
|
|
- INIT_WORK(&ieee->associate_procedure_wq,(void(*)(void*)) ieee80211_associate_procedure_wq,ieee);
|
|
|
- INIT_WORK(&ieee->softmac_scan_wq,(void(*)(void*)) ieee80211_softmac_scan_wq,ieee);
|
|
|
- INIT_WORK(&ieee->wx_sync_scan_wq,(void(*)(void*)) ieee80211_wx_sync_scan_wq,ieee);
|
|
|
-#endif
|
|
|
|
|
|
-#else
|
|
|
- tq_init(&ieee->start_ibss_wq,(void(*)(void*)) ieee80211_start_ibss_wq,ieee);
|
|
|
- tq_init(&ieee->associate_retry_wq,(void(*)(void*)) ieee80211_associate_retry_wq,ieee);
|
|
|
- tq_init(&ieee->associate_complete_wq,(void(*)(void*)) ieee80211_associate_complete_wq,ieee);
|
|
|
- tq_init(&ieee->associate_procedure_wq,(void(*)(void*)) ieee80211_associate_procedure_wq,ieee);
|
|
|
- tq_init(&ieee->softmac_scan_wq,(void(*)(void*)) ieee80211_softmac_scan_wq,ieee);
|
|
|
- tq_init(&ieee->wx_sync_scan_wq,(void(*)(void*)) ieee80211_wx_sync_scan_wq,ieee);
|
|
|
-#endif
|
|
|
sema_init(&ieee->wx_sem, 1);
|
|
|
sema_init(&ieee->scan_sem, 1);
|
|
|
|
|
@@ -3016,10 +2803,8 @@ void ieee80211_softmac_free(struct ieee80211_device *ieee)
|
|
|
#endif
|
|
|
del_timer_sync(&ieee->associate_timer);
|
|
|
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
|
|
cancel_delayed_work(&ieee->associate_retry_wq);
|
|
|
destroy_workqueue(ieee->wq);
|
|
|
-#endif
|
|
|
|
|
|
up(&ieee->wx_sem);
|
|
|
}
|
|
@@ -3296,11 +3081,7 @@ static int ieee80211_wpa_set_encryption(struct ieee80211_device *ieee,
|
|
|
}
|
|
|
memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data));
|
|
|
new_crypt->ops = ops;
|
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
|
|
|
if (new_crypt->ops && try_module_get(new_crypt->ops->owner))
|
|
|
-#else
|
|
|
- if (new_crypt->ops && try_inc_mod_count(new_crypt->ops->owner))
|
|
|
-#endif
|
|
|
new_crypt->priv =
|
|
|
new_crypt->ops->init(param->u.crypt.idx);
|
|
|
|
|
@@ -3483,7 +3264,6 @@ void notify_wx_assoc_event(struct ieee80211_device *ieee)
|
|
|
wireless_send_event(ieee->dev, SIOCGIWAP, &wrqu, NULL);
|
|
|
}
|
|
|
|
|
|
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
|
|
|
EXPORT_SYMBOL(ieee80211_get_beacon);
|
|
|
EXPORT_SYMBOL(ieee80211_wake_queue);
|
|
|
EXPORT_SYMBOL(ieee80211_stop_queue);
|
|
@@ -3504,26 +3284,4 @@ EXPORT_SYMBOL(ieee80211_stop_scan);
|
|
|
EXPORT_SYMBOL(ieee80211_send_probe_requests);
|
|
|
EXPORT_SYMBOL(ieee80211_softmac_scan_syncro);
|
|
|
EXPORT_SYMBOL(ieee80211_start_scan_syncro);
|
|
|
-#else
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_get_beacon);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_wake_queue);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_stop_queue);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_reset_queue);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_softmac_stop_protocol);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_softmac_start_protocol);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_is_shortslot);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_is_54g);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_wpa_supplicant_ioctl);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_ps_tx_ack);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_softmac_xmit);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_stop_send_beacons);
|
|
|
-EXPORT_SYMBOL_NOVERS(notify_wx_assoc_event);
|
|
|
-EXPORT_SYMBOL_NOVERS(SendDisassociation);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_disassociate);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_start_send_beacons);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_stop_scan);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_send_probe_requests);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_softmac_scan_syncro);
|
|
|
-EXPORT_SYMBOL_NOVERS(ieee80211_start_scan_syncro);
|
|
|
-#endif
|
|
|
//EXPORT_SYMBOL(ieee80211_sta_ps_send_null_frame);
|